Index: src/org/openstreetmap/josm/data/validation/tests/CrossingWays.java
===================================================================
--- src/org/openstreetmap/josm/data/validation/tests/CrossingWays.java	(revision 14835)
+++ src/org/openstreetmap/josm/data/validation/tests/CrossingWays.java	(working copy)
@@ -370,7 +370,8 @@
                     prims.add(es1.way);
                     if (es1.way != es2.way)
                         prims.add(es2.way);
-                    if ((highlight = seenWays.get(prims)) == null) {
+                    highlight = seenWays.get(prims);
+                    if (highlight == null || (!highlight.contains(es1) && !highlight.contains(es2))) {
                         highlight = new ArrayList<>();
                         highlight.add(es1);
                         highlight.add(es2);
