Index: trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/ComputeStyleListWorker.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/ComputeStyleListWorker.java	(revision 11969)
+++ trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/ComputeStyleListWorker.java	(revision 11970)
@@ -139,11 +139,15 @@
         StyleElementList sl = styles.get(osm, circum, nc);
         for (StyleElement s : sl) {
-            if (drawMultipolygon && drawArea && (s instanceof AreaElement || s instanceof AreaIconElement)
-                    && (flags & StyledMapRenderer.FLAG_DISABLED) == 0) {
-                output.add(new StyleRecord(s, osm, flags));
-            } else if ((drawMultipolygon && drawArea && s instanceof TextElement) || (drawRestriction && s instanceof NodeElement)) {
+            if (drawAreaElement(flags, s) ||
+               (drawMultipolygon && drawArea && s instanceof TextElement) ||
+               (drawRestriction && s instanceof NodeElement)) {
                 output.add(new StyleRecord(s, osm, flags));
             }
         }
+    }
+
+    private boolean drawAreaElement(int flags, StyleElement s) {
+        return drawMultipolygon && drawArea && (s instanceof AreaElement || s instanceof AreaIconElement)
+                && (flags & StyledMapRenderer.FLAG_DISABLED) == 0;
     }
 
