Index: /trunk/src/org/openstreetmap/josm/gui/mappaint/MapPaintStyles.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/mappaint/MapPaintStyles.java	(revision 13814)
+++ /trunk/src/org/openstreetmap/josm/gui/mappaint/MapPaintStyles.java	(revision 13815)
@@ -313,5 +313,7 @@
         }
         for (StyleSource source : styles.getStyleSources()) {
-            loadStyleForFirstTime(source);
+            if (source.active) {
+                loadStyleForFirstTime(source);
+            }
         }
         fireMapPaintSylesUpdated();
@@ -406,4 +408,7 @@
             StyleSource s = data.get(p);
             s.active = !s.active;
+            if (s.active && !s.isLoaded()) {
+                loadStyleForFirstTime(s);
+            }
         }
         MapPaintPrefHelper.INSTANCE.put(data);
Index: /trunk/src/org/openstreetmap/josm/gui/mappaint/StyleSource.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/mappaint/StyleSource.java	(revision 13814)
+++ /trunk/src/org/openstreetmap/josm/gui/mappaint/StyleSource.java	(revision 13815)
@@ -39,4 +39,6 @@
     private final List<Throwable> errors = new CopyOnWriteArrayList<>();
     private final Set<String> warnings = new CopyOnWriteArraySet<>();
+    protected boolean loaded;
+
     /**
      * The zip file containing the icons for this style
@@ -257,3 +259,12 @@
         return null;
     }
+
+    /**
+     * Determines if the style has been loaded (initialized).
+     * @return {@code true} if the style has been loaded
+     * @since 13815
+     */
+    public final boolean isLoaded() {
+        return loaded;
+    }
 }
Index: /trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSStyleSource.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSStyleSource.java	(revision 13814)
+++ /trunk/src/org/openstreetmap/josm/gui/mappaint/mapcss/MapCSSStyleSource.java	(revision 13815)
@@ -507,4 +507,5 @@
             multipolygonRules.initIndex();
             canvasRules.initIndex();
+            loaded = true;
         } finally {
             STYLE_SOURCE_LOCK.writeLock().unlock();
