Index: trunk/src/org/openstreetmap/josm/gui/mappaint/MapPaintStyles.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/MapPaintStyles.java	(revision 13844)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/MapPaintStyles.java	(revision 13845)
@@ -315,4 +315,6 @@
             if (source.active) {
                 loadStyleForFirstTime(source);
+            } else {
+                source.loadStyleSource(true);
             }
         }
Index: trunk/src/org/openstreetmap/josm/gui/mappaint/StyleSource.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/StyleSource.java	(revision 13844)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/StyleSource.java	(revision 13845)
@@ -101,7 +101,16 @@
 
     /**
+     * Loads the complete style source.
+     */
+    public void loadStyleSource() {
+        loadStyleSource(false);
+    }
+
+    /**
      * Loads the style source.
-     */
-    public abstract void loadStyleSource();
+     * @param metadataOnly if {@code true}, only metadata are loaded
+     * @since 13845
+     */
+    public abstract void loadStyleSource(boolean metadataOnly);
 
     /**
Index: trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSStyleSource.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSStyleSource.java	(revision 13844)
+++ trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSStyleSource.java	(revision 13845)
@@ -413,5 +413,5 @@
 
     @Override
-    public void loadStyleSource() {
+    public void loadStyleSource(boolean metadataOnly) {
         STYLE_SOURCE_LOCK.writeLock().lock();
         try {
@@ -436,6 +436,8 @@
 
                     loadMeta();
-                    loadCanvas();
-                    loadSettings();
+                    if (!metadataOnly) {
+                        loadCanvas();
+                        loadSettings();
+                    }
                     // remove "areaStyle" pseudo classes intended only for validator (causes StackOverflowError otherwise)
                     removeAreaStyleClasses();
@@ -455,4 +457,7 @@
                 Logging.error(e);
                 logError(new ParseException(e.getMessage())); // allow e to be garbage collected, it links to the entire token stream
+            }
+            if (metadataOnly) {
+                return;
             }
             // optimization: filter rules for different primitive types
