Index: trunk/src/org/openstreetmap/josm/data/validation/tests/CrossingWays.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/tests/CrossingWays.java	(revision 17446)
+++ trunk/src/org/openstreetmap/josm/data/validation/tests/CrossingWays.java	(revision 17447)
@@ -129,6 +129,6 @@
                 return true; // see #20089
             }
-            return (w1.hasTag(WATERWAY, "river", "stream", "canal", "drain", "ditch") && w2.hasTag(WATERWAY, "riverbank"))
-                    || (w2.hasTag(WATERWAY, "river", "stream", "canal", "drain", "ditch") && w1.hasTag(WATERWAY, "riverbank"));
+            return (w1.hasTag(WATERWAY, "river", "stream", "canal", "drain", "ditch") && isWaterArea(w2))
+                    || (w2.hasTag(WATERWAY, "river", "stream", "canal", "drain", "ditch") && isWaterArea(w1));
         }
 
@@ -315,5 +315,5 @@
 
     static boolean isWaterArea(OsmPrimitive w) {
-        return w.hasTag("natural", "water") || w.hasTag(LANDUSE, "reservoir");
+        return w.hasTag("natural", "water") || w.hasTag("waterway", "riverbank") || w.hasTag(LANDUSE, "reservoir");
     }
 
