Index: /applications/editors/josm/plugins/slippymap/src/org/openstreetmap/josm/plugins/slippymap/SlippyMapLayer.java
===================================================================
--- /applications/editors/josm/plugins/slippymap/src/org/openstreetmap/josm/plugins/slippymap/SlippyMapLayer.java	(revision 5679)
+++ /applications/editors/josm/plugins/slippymap/src/org/openstreetmap/josm/plugins/slippymap/SlippyMapLayer.java	(revision 5680)
@@ -22,4 +22,5 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.RenameLayerAction;
+import org.openstreetmap.josm.data.Preferences.PreferenceChangedListener;
 import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor;
@@ -36,7 +37,7 @@
  * 
  */
-public class SlippyMapLayer extends Layer implements ImageObserver
+public class SlippyMapLayer extends Layer implements ImageObserver,
+        PreferenceChangedListener
 {
-
     ArrayList<HashMap<Integer, SlippyMapTile>> tileStorage = null;
 
@@ -143,4 +144,6 @@
             }
         });
+
+        Main.pref.listener.add(this);
     }
 
@@ -454,3 +457,26 @@
         return !done;
     }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.openstreetmap.josm.data.Preferences.PreferenceChangedListener#preferenceChanged(java.lang.String,
+     *      java.lang.String)
+     */
+    public void preferenceChanged(String key, String newValue)
+    {
+        if (key.startsWith("slippymaplayer"))
+        {
+            System.err.println(this + ".preferenceChanged('" + key + "', '"
+                    + newValue + "') called");
+
+            clearTileStorage();
+        }
+    }
+
+    @Override
+    public void destroy()
+    {
+        Main.pref.listener.remove(SlippyMapLayer.this);
+    }
 }
