Index: src/org/openstreetmap/gui/jmapviewer/OsmTileLoader.java
===================================================================
--- src/org/openstreetmap/gui/jmapviewer/OsmTileLoader.java	(revision 32000)
+++ src/org/openstreetmap/gui/jmapviewer/OsmTileLoader.java	(working copy)
@@ -9,8 +9,8 @@
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Map.Entry;
-import java.util.concurrent.Executor;
 import java.util.concurrent.Executors;
+import java.util.concurrent.ThreadPoolExecutor;
 
 import org.openstreetmap.gui.jmapviewer.interfaces.TileJob;
 import org.openstreetmap.gui.jmapviewer.interfaces.TileLoader;
@@ -22,7 +22,7 @@
  * @author Jan Peter Stotz
  */
 public class OsmTileLoader implements TileLoader {
-    private static final Executor jobDispatcher = Executors.newSingleThreadExecutor();
+    private static final ThreadPoolExecutor jobDispatcher = (ThreadPoolExecutor) Executors.newCachedThreadPool();
 
     private final class OsmTileJob implements TileJob {
         private final Tile tile;
@@ -183,6 +183,6 @@
 
     @Override
     public void cancelOutstandingTasks() {
-        // intentionally left empty - OsmTileLoader doesn't maintain queue
+        jobDispatcher.getQueue().clear();
     }
 }
