Index: src/org/openstreetmap/josm/data/osm/Way.java
===================================================================
--- src/org/openstreetmap/josm/data/osm/Way.java	(revision 16197)
+++ src/org/openstreetmap/josm/data/osm/Way.java	(working copy)
@@ -35,6 +35,7 @@
      */
     private Node[] nodes = new Node[0];
     private BBox bbox;
+    private boolean hasIncompleteNodes;
 
     @Override
     public List<Node> getNodes() {
@@ -56,8 +57,11 @@
             } else {
                 this.nodes = nodes.toArray(new Node[0]);
             }
+            hasIncompleteNodes = false;
             for (Node node: this.nodes) {
                 node.addReferrer(this);
+                if(node.isIncomplete())
+                    hasIncompleteNodes = true;
                 node.clearCachedStyle();
             }
 
@@ -590,7 +594,7 @@
      * @since 2587
      */
     public boolean hasIncompleteNodes() {
-        return Arrays.stream(nodes).anyMatch(Node::isIncomplete);
+        return hasIncompleteNodes;
     }
 
     /**
