Index: src/org/openstreetmap/josm/data/validation/tests/MultipolygonTest.java
===================================================================
--- src/org/openstreetmap/josm/data/validation/tests/MultipolygonTest.java	(revision 10773)
+++ src/org/openstreetmap/josm/data/validation/tests/MultipolygonTest.java	(working copy)
@@ -338,8 +338,19 @@
         if (intersection == Intersection.CROSSING) {
             PolyData pdOther = polygons.get(idx);
             if (pdOther != null) {
+                // tty to find out which nodes to highlight
+                double bboxSize1 = pdOther.getBounds().getHeight() * pdOther.getBounds().getWidth();
+                double bboxSize2 = pd.getBounds().getHeight() * pd.getBounds().getWidth();
+                List<?> hilighted = null;
+                if (bboxSize1 > 10 * bboxSize2)
+                    hilighted = Arrays.asList(pd.getNodes());
+                else if (bboxSize2 > 10 * bboxSize1)
+                    hilighted = Arrays.asList(pdOther.getNodes());
+                else
+                    hilighted = Arrays.asList(pd.getNodes(), pdOther.getNodes());
+
                 addError(r, new TestError(this, Severity.WARNING, tr("Intersection between multipolygon ways"),
-                        CROSSING_WAYS, Collections.singletonList(r), Arrays.asList(pd.getNodes(), pdOther.getNodes())));
+                        CROSSING_WAYS, Collections.singletonList(r), hilighted ));
             }
         }
         return intersection;
