Index: trunk/src/org/openstreetmap/josm/data/validation/tests/MultipolygonTest.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/tests/MultipolygonTest.java	(revision 17221)
+++ trunk/src/org/openstreetmap/josm/data/validation/tests/MultipolygonTest.java	(revision 17223)
@@ -185,6 +185,9 @@
         int oldErrorsSize = errors.size();
 
+        Map<Long, RelationMember> wayMap = r.getMembers().stream()
+                .filter(RelationMember::isWay)
+                .collect(Collectors.toMap(mem -> mem.getWay().getUniqueId(), mem -> mem, (a, b) -> b));
         List<Node> openNodes = polygon.getOpenEnds();
-        if (!openNodes.isEmpty()) {
+        if (!openNodes.isEmpty() || wayMap.isEmpty()) {
             errors.add(TestError.builder(this, Severity.ERROR, NON_CLOSED_WAY)
                     .message(tr("Multipolygon is not closed"))
@@ -194,7 +197,4 @@
         }
 
-        Map<Long, RelationMember> wayMap = r.getMembers().stream()
-                .filter(RelationMember::isWay)
-                .collect(Collectors.toMap(mem -> mem.getWay().getUniqueId(), mem -> mem, (a, b) -> b));
         // duplicate members were checked before
         if (wayMap.isEmpty())
