Index: /trunk/src/org/openstreetmap/josm/data/validation/tests/PowerLines.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/validation/tests/PowerLines.java	(revision 18839)
+++ /trunk/src/org/openstreetmap/josm/data/validation/tests/PowerLines.java	(revision 18840)
@@ -629,5 +629,5 @@
      */
     private static boolean concernsWaterArea(OsmPrimitive p) {
-        return (p.hasTag("water", "river", "lake") || p.hasKey("waterway") || p.hasTag("natural", "coastline")) && p.concernsArea();
+        return p.hasTag("water", "river", "lake") || p.hasKey("waterway") || p.hasTag("natural", "coastline");
     }
 
Index: /trunk/test/unit/org/openstreetmap/josm/data/validation/tests/PowerLinesTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/data/validation/tests/PowerLinesTest.java	(revision 18839)
+++ /trunk/test/unit/org/openstreetmap/josm/data/validation/tests/PowerLinesTest.java	(revision 18840)
@@ -5,4 +5,6 @@
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertTrue;
+
+import java.util.ArrayList;
 
 import org.junit.jupiter.api.BeforeEach;
@@ -16,4 +18,5 @@
 import org.openstreetmap.josm.data.osm.TagMap;
 import org.openstreetmap.josm.data.osm.Way;
+import org.openstreetmap.josm.gui.progress.NullProgressMonitor;
 import org.openstreetmap.josm.testutils.annotations.BasicPreferences;
 import org.openstreetmap.josm.testutils.annotations.Projection;
@@ -130,3 +133,30 @@
         assertDoesNotThrow(() -> this.powerLines.visit(powerLine));
     }
+
+    @Test
+    void testPowerlineCrossingOcean() {
+        final Way powerLine = TestUtils.newWay("power=line",
+                new Node(new LatLon(52.6759313, 8.3845078)),
+                new Node(new LatLon(52.6759857, 8.3898977)),
+                new Node(new LatLon(52.6759857, 8.3949282)),
+                new Node(new LatLon(52.6758768, 8.3978927)),
+                new Node(new LatLon(52.6759313, 8.4322981)),
+                new Node(new LatLon(52.6759857, 8.4419999)),
+                new Node(new LatLon(52.6758768, 8.4488271)));
+        final Way coastline = TestUtils.newWay("natural=coastline",
+                new Node(new LatLon(52.6813231, 8.4253811)),
+                new Node(new LatLon(52.6684687, 8.4254709)),
+                new Node(new LatLon(52.6680328, 8.4033724)),
+                new Node(new LatLon(52.6838282, 8.4070555)));
+        for (Node node : powerLine.getNodes()) {
+            node.put("power", "tower");
+        }
+        this.ds.addPrimitiveRecursive(powerLine);
+        this.ds.addPrimitiveRecursive(coastline);
+
+        this.powerLines.startTest(NullProgressMonitor.INSTANCE);
+        this.powerLines.visit(new ArrayList<>(ds.getWays()));
+        this.powerLines.endTest();
+        assertTrue(this.powerLines.getErrors().isEmpty());
+    }
 }
