Index: trunk/src/org/openstreetmap/josm/data/cache/HostLimitQueue.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/cache/HostLimitQueue.java	(revision 9002)
+++ trunk/src/org/openstreetmap/josm/data/cache/HostLimitQueue.java	(revision 9004)
@@ -54,5 +54,5 @@
                         return job;
                     } else {
-                        // we have acquired the semaphore, but we didn't manage to remove it, as someone else did
+                        // we have acquired the semaphore, but we didn't manage to remove job, as someone else did
                         // release the semaphore and look for another candidate
                         releaseSemaphore(job);
@@ -67,5 +67,5 @@
                         }
                     }
-                    Main.debug("TMS - Queuing job {0} because host limit reached", url);
+                    Main.debug("TMS - Skipping job {0} because host limit reached", url);
                 }
             }
Index: trunk/src/org/openstreetmap/josm/data/cache/JCSCachedTileLoaderJob.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/cache/JCSCachedTileLoaderJob.java	(revision 9002)
+++ trunk/src/org/openstreetmap/josm/data/cache/JCSCachedTileLoaderJob.java	(revision 9004)
@@ -174,4 +174,5 @@
         if (first || force) {
             // submit all jobs to separate thread, so calling thread is not blocked with IO when loading from disk
+            log.log(Level.FINE, "JCS - Submitting job for execution for url: {0}", getUrlNoException());
             downloadJobExecutor.execute(this);
         }
@@ -221,4 +222,5 @@
         final String oldName = currentThread.getName();
         currentThread.setName("JCS Downloading: " + getUrlNoException());
+        log.log(Level.FINE, "JCS - starting fetch of url: {0} ", getUrlNoException());
         ensureCacheElement();
         try {
Index: trunk/src/org/openstreetmap/josm/data/imagery/TMSCachedTileLoader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/imagery/TMSCachedTileLoader.java	(revision 9002)
+++ trunk/src/org/openstreetmap/josm/data/imagery/TMSCachedTileLoader.java	(revision 9004)
@@ -10,5 +10,4 @@
 import org.openstreetmap.gui.jmapviewer.Tile;
 import org.openstreetmap.gui.jmapviewer.interfaces.CachedTileLoader;
-import org.openstreetmap.gui.jmapviewer.interfaces.TileCache;
 import org.openstreetmap.gui.jmapviewer.interfaces.TileJob;
 import org.openstreetmap.gui.jmapviewer.interfaces.TileLoader;
@@ -26,5 +25,5 @@
  *
  */
-public class TMSCachedTileLoader implements TileLoader, CachedTileLoader, TileCache {
+public class TMSCachedTileLoader implements TileLoader, CachedTileLoader {
 
     protected final ICacheAccess<String, BufferedImageCacheEntry> cache;
@@ -108,24 +107,4 @@
     }
 
-    @Override
-    public Tile getTile(TileSource source, int x, int y, int z) {
-        return createTileLoaderJob(new Tile(source, x, y, z)).getTile();
-    }
-
-    @Override
-    public void addTile(Tile tile) {
-        createTileLoaderJob(tile).getTile();
-    }
-
-    @Override
-    public int getTileCount() {
-        return 0;
-    }
-
-    @Override
-    public void clear() {
-        cache.clear();
-    }
-
     /**
      * @return cache statistics as string
Index: trunk/src/org/openstreetmap/josm/gui/layer/AbstractTileSourceLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/AbstractTileSourceLayer.java	(revision 9002)
+++ trunk/src/org/openstreetmap/josm/gui/layer/AbstractTileSourceLayer.java	(revision 9004)
@@ -1215,9 +1215,9 @@
 
         private boolean tooLarge() {
-            return this.tilesSpanned() > 20;
+            return insane() || this.tilesSpanned() > 20;
         }
 
         private boolean insane() {
-            return this.tilesSpanned() > 100;
+            return size() > tileCache.getCacheSize();
         }
 
