Index: /trunk/src/org/openstreetmap/josm/data/validation/tests/MultipolygonTest.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/validation/tests/MultipolygonTest.java	(revision 12699)
+++ /trunk/src/org/openstreetmap/josm/data/validation/tests/MultipolygonTest.java	(revision 12700)
@@ -114,5 +114,5 @@
     @Override
     public void visit(Way w) {
-        if (!w.isArea() && ElemStyles.hasOnlyAreaOrTextStyleElements(w)) {
+        if (!w.isArea() && ElemStyles.hasOnlyAreaElements(w)) {
             List<Node> nodes = w.getNodes();
             if (nodes.isEmpty()) return; // fix zero nodes bug
Index: /trunk/src/org/openstreetmap/josm/gui/mappaint/ElemStyles.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/mappaint/ElemStyles.java	(revision 12699)
+++ /trunk/src/org/openstreetmap/josm/gui/mappaint/ElemStyles.java	(revision 12700)
@@ -515,10 +515,13 @@
 
     /**
-     * Determines whether primitive has <b>only</b> an AreaElement.
+     * Determines whether primitive has area-type {@link StyleElement}s, but
+     * no line-type StyleElements.
+     * 
+     * {@link TextElement} is ignored, as it can be both line and area-type.
      * @param p the OSM primitive
-     * @return {@code true} if primitive has only an AreaElement
-     * @since 7486
-     */
-    public static boolean hasOnlyAreaOrTextStyleElements(OsmPrimitive p) {
+     * @return {@code true} if primitive has area elements, but no line elements
+     * @since 12700
+     */
+    public static boolean hasOnlyAreaElements(OsmPrimitive p) {
         MapCSSStyleSource.STYLE_SOURCE_LOCK.readLock().lock();
         try {
@@ -526,13 +529,16 @@
                 return false;
             StyleElementList styles = MapPaintStyles.getStyles().generateStyles(p, 1.0, false).a;
-            if (styles.isEmpty()) {
-                return false;
-            }
+            boolean hasAreaElement = false;
             for (StyleElement s : styles) {
-                if (!(s instanceof AreaElement || s instanceof TextElement)) {
+                if (s instanceof TextElement) {
+                    continue;
+                }
+                if (s instanceof AreaElement) {
+                    hasAreaElement = true;
+                } else {
                     return false;
                 }
             }
-            return true;
+            return hasAreaElement;
         } finally {
             MapCSSStyleSource.STYLE_SOURCE_LOCK.readLock().unlock();
