Index: trunk/src/org/openstreetmap/josm/data/validation/tests/WayConnectedToArea.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/tests/WayConnectedToArea.java	(revision 7643)
+++ trunk/src/org/openstreetmap/josm/data/validation/tests/WayConnectedToArea.java	(revision 7644)
@@ -71,5 +71,5 @@
             return;
         } else if (isArea(p)) {
-            addError(w, wayNode, p);
+            addPossibleError(w, wayNode, p, p);
         } else {
             for (OsmPrimitive r : p.getReferrers()) {
@@ -77,5 +77,5 @@
                         && r.hasTag("type", "multipolygon")
                         && isArea(r)) {
-                    addError(w, wayNode, p);
+                    addPossibleError(w, wayNode, p, r);
                     break;
                 }
@@ -89,5 +89,9 @@
     }
 
-    private void addError(Way w, Node wayNode, OsmPrimitive p) {
+    private void addPossibleError(Way w, Node wayNode, OsmPrimitive p, OsmPrimitive area) {
+        // Avoid "legal" cases (see #10655)
+        if (w.hasKey("highway") && wayNode.hasTag("leisure", "slipway") && area.hasTag("natural", "water")) {
+            return;
+        }
         errors.add(new TestError(this, Severity.WARNING,
                 tr("Way terminates on Area"), 2301,
