Index: src/org/openstreetmap/josm/data/validation/tests/UnconnectedWays.java
===================================================================
--- src/org/openstreetmap/josm/data/validation/tests/UnconnectedWays.java	(revision 15353)
+++ src/org/openstreetmap/josm/data/validation/tests/UnconnectedWays.java	(working copy)
@@ -448,10 +448,16 @@
                         List<Node> nextNodes = new ArrayList<>();
                         int pos = way.getNodes().indexOf(node);
                         if (pos > 0) {
-                            nextNodes.add(way.getNode(pos - 1));
+                            Node temporaryNode = way.getNode(pos - 1);
+                            if (temporaryNode != null && temporaryNode.isLatLonKnown()) {
+                                nextNodes.add(temporaryNode);
+                            }
                         }
                         if (pos + 1 < way.getNodesCount()) {
-                            nextNodes.add(way.getNode(pos + 1));
+                            Node temporaryNode = way.getNode(pos + 1);
+                            if (temporaryNode != null && temporaryNode.isLatLonKnown()) {
+                                nextNodes.add(temporaryNode);
+                            }
                         }
                         for (Node next : nextNodes) {
                             final boolean containsN = visited.contains(next);
