Index: src/org/openstreetmap/josm/data/validation/tests/MultipolygonTest.java
===================================================================
--- src/org/openstreetmap/josm/data/validation/tests/MultipolygonTest.java	(revision 16372)
+++ src/org/openstreetmap/josm/data/validation/tests/MultipolygonTest.java	(working copy)
@@ -73,6 +73,10 @@
     public static final int RINGS_SHARE_NODES = 1617;
     /** Incomplete multipolygon was modified */
     public static final int MODIFIED_INCOMPLETE = 1618;
+    /** No further tags for multipolygon */
+    public static final int NO_TAGS = 1619;
+    /** No area tag for multipolygon */
+    public static final int NO_AREA_TAG = 1620;
 
     private static final int FOUND_INSIDE = 1;
     private static final int FOUND_OUTSIDE = 2;
@@ -130,22 +134,24 @@
     private void checkStyleConsistency(Relation r, Multipolygon polygon) {
         ElemStyles styles = MapPaintStyles.getStyles();
         if (styles != null && !r.isBoundary()) {
+            if (r.getInterestingTags().size() <= 1) {
+                errors.add(TestError.builder(this, Severity.ERROR, NO_TAGS)
+                        .message(tr("No further tags for multipolygon"))
+                        .primitives(r)
+                        .build());
+            } else if (!r.concernsArea()) {
+                errors.add(TestError.builder(this, Severity.WARNING, NO_AREA_TAG)
+                        .message(tr("No area tag for multipolygon"))
+                        .primitives(r)
+                        .build());
+            }
             AreaElement area = ElemStyles.getAreaElemStyle(r, false);
             boolean areaStyle = area != null;
-            // If area style was not found for relation then use style of ways
-            if (area == null) {
-                for (Way w : polygon.getOuterWays()) {
-                    area = ElemStyles.getAreaElemStyle(w, true);
-                    if (area != null) {
-                        break;
-                    }
-                }
-                if (area == null) {
-                    errors.add(TestError.builder(this, Severity.OTHER, NO_STYLE)
-                            .message(tr("No area style for multipolygon"))
-                            .primitives(r)
-                            .build());
-                }
+            if (area == null ) {
+                errors.add(TestError.builder(this, Severity.OTHER, NO_STYLE)
+                        .message(tr("No area style for multipolygon"))
+                        .primitives(r)
+                        .build());
             }
 
             if (area != null) {
