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)
@@ -447,12 +447,17 @@
                     if (isCandidate(way)) {
                         List<Node> nextNodes = new ArrayList<>();
                         int pos = way.getNodes().indexOf(node);
-                        if (pos > 0) {
-                            nextNodes.add(way.getNode(pos - 1));
-                        }
+                        Node temporaryNode;
                         if (pos + 1 < way.getNodesCount()) {
-                            nextNodes.add(way.getNode(pos + 1));
+                            temporaryNode = way.getNode(pos + 1);
+                        } else if (pos > 0) {
+                            temporaryNode = way.getNode(pos - 1);
+                        } else {
+                            temporaryNode = null;
                         }
+                        if (temporaryNode != null && temporaryNode.isLatLonKnown()) {
+                            nextNodes.add(temporaryNode);
+                        }
                         for (Node next : nextNodes) {
                             final boolean containsN = visited.contains(next);
                             visited.add(next);
