Index: /applications/editors/josm/plugins/imagerycache/build.xml
===================================================================
--- /applications/editors/josm/plugins/imagerycache/build.xml	(revision 31082)
+++ /applications/editors/josm/plugins/imagerycache/build.xml	(revision 31083)
@@ -5,5 +5,5 @@
     <property name="commit.message" value="[JOSM_ImageryCache]: correct database cleaning, at last"/>
     <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
-    <property name="plugin.main.version" value="7001"/>
+    <property name="plugin.main.version" value="8186"/>
 
     <!-- Configure these properties (replace "..." accordingly).
Index: /applications/editors/josm/plugins/imagerycache/src/org/openstreetmap/josm/plugins/imagerycache/ImageryCachePlugin.java
===================================================================
--- /applications/editors/josm/plugins/imagerycache/src/org/openstreetmap/josm/plugins/imagerycache/ImageryCachePlugin.java	(revision 31082)
+++ /applications/editors/josm/plugins/imagerycache/src/org/openstreetmap/josm/plugins/imagerycache/ImageryCachePlugin.java	(revision 31083)
@@ -2,5 +2,8 @@
 
 import java.io.File;
+import java.util.Map;
+
 import org.openstreetmap.gui.jmapviewer.OsmTileLoader;
+import org.openstreetmap.gui.jmapviewer.interfaces.TileLoader;
 import org.openstreetmap.gui.jmapviewer.interfaces.TileLoaderListener;
 import org.openstreetmap.josm.gui.layer.TMSLayer;
@@ -28,4 +31,10 @@
             return null;
         }
+
+        @Override
+        public TileLoader makeTileLoader(TileLoaderListener listener,
+                Map<String, String> headers) {
+            return makeTileLoader(listener);
+        }
     };
 
Index: /applications/editors/josm/plugins/imagerycache/src/org/openstreetmap/josm/plugins/imagerycache/OsmDBTilesLoader.java
===================================================================
--- /applications/editors/josm/plugins/imagerycache/src/org/openstreetmap/josm/plugins/imagerycache/OsmDBTilesLoader.java	(revision 31082)
+++ /applications/editors/josm/plugins/imagerycache/src/org/openstreetmap/josm/plugins/imagerycache/OsmDBTilesLoader.java	(revision 31083)
@@ -16,5 +16,4 @@
 import org.openstreetmap.gui.jmapviewer.Tile;
 import org.openstreetmap.gui.jmapviewer.interfaces.CachedTileLoader;
-import org.openstreetmap.gui.jmapviewer.interfaces.TileClearController;
 import org.openstreetmap.gui.jmapviewer.interfaces.TileJob;
 import org.openstreetmap.gui.jmapviewer.interfaces.TileLoaderListener;
@@ -41,5 +40,4 @@
     protected long recheckAfter = FILE_AGE_ONE_DAY;
 
-
     public OsmDBTilesLoader(TileLoaderListener smap, File cacheFolder) {
         super(smap);
@@ -55,9 +53,4 @@
     @Override
     public void clearCache(TileSource source) {
-        clearCache(source, null);
-    }
-
-    @Override
-    public void clearCache(TileSource source, TileClearController controller) {
         dao.cleanStorage(source.getName());
     }
@@ -95,20 +88,23 @@
                 tile.initLoading();
             }
-            if (loadTileFromFile()) {
-                return;
-            }
-            if (dbTile != null) {
-                TileJob job = new TileJob() {
-                    @Override public void run() {
-                        loadOrUpdateTileFromServer();
-                    }
-                    @Override public Tile getTile() {
-                        return tile;
-                    }
-                };
-                JobDispatcher.getInstance().addJob(job);
-            } else {
-                loadOrUpdateTileFromServer();
-            }
+
+            TileJob job = new TileJob() {
+                @Override public void run() {
+                    if (loadTileFromFile()) {
+                        return;
+                    }
+
+                    loadOrUpdateTileFromServer();
+                }
+                @Override public Tile getTile() {
+                    return tile;
+                }
+                @Override
+                public void submit() {
+                    run();
+
+                }
+            };
+            JobDispatcher.getInstance().addJob(job);
         }
 
@@ -151,6 +147,6 @@
                 }
             } catch (Exception e) {
-            	Main.error("Error: Can not load tile from database: "+sourceName+":"+id);
-            	Main.error(e);
+                Main.error("Error: Can not load tile from database: "+sourceName+":"+id);
+                Main.error(e);
                 try {
                     if (bin != null) {
@@ -164,6 +160,8 @@
             } catch (Error e) { // this is bad, bat MapDB throws it
                 Main.error("Serious database error: Can not load tile from database: "+sourceName+":"+id);
-            	Main.error(e);
-                dbTile = null;  fileAge = 0;  return false;
+                Main.error(e);
+                dbTile = null;  
+                fileAge = 0; 
+                return false;
             }
         }
@@ -341,4 +339,10 @@
             }
         }
+
+        @Override
+        public void submit() {
+            run();
+            
+        }
     }
 }
