Index: trunk/test/unit/org/openstreetmap/josm/data/validation/tests/CrossingWaysTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/validation/tests/CrossingWaysTest.java	(revision 17429)
+++ trunk/test/unit/org/openstreetmap/josm/data/validation/tests/CrossingWaysTest.java	(revision 17430)
@@ -47,4 +47,10 @@
     private static void testMessage(int code, CrossingWays test, String tags1, String tags2) {
         assertEquals(code, test.createMessage(TestUtils.newWay(tags1), TestUtils.newWay(tags2)).code);
+    }
+
+    private static void testIgnore(boolean expected, CrossingWays test, String tags1, String tags2) {
+        // test both possible combinations
+        assertEquals(expected, test.ignoreWaySegmentCombination(TestUtils.newWay(tags1), TestUtils.newWay(tags2)));
+        assertEquals(expected, test.ignoreWaySegmentCombination(TestUtils.newWay(tags2), TestUtils.newWay(tags1)));
     }
 
@@ -156,4 +162,7 @@
         testMessage(665, test, "barrier=hedge", "natural=water");
 
+        testIgnore(true, test, "landuse=residential", "natural=water");
+        testIgnore(false, test, "landuse=residential", "building=yes");
+
         assertFalse(test.isPrimitiveUsable(newUsableWay("amenity=restaurant")));
         assertFalse(test.isPrimitiveUsable(TestUtils.newWay("barrier=yes"))); // Unusable (0 node)
