Index: trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageDisplay.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageDisplay.java	(revision 17832)
+++ trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageDisplay.java	(revision 17834)
@@ -237,5 +237,5 @@
 
     /** The thread that reads the images. */
-    private class LoadImageRunnable implements Runnable, ImageObserver {
+    protected class LoadImageRunnable implements Runnable, ImageObserver {
 
         private final ImageEntry entry;
@@ -744,4 +744,11 @@
      */
     public void setImage(ImageEntry entry) {
+        LoadImageRunnable runnable = setImage0(entry);
+        if (runnable != null) {
+            new Thread(runnable, LoadImageRunnable.class.getName()).start();
+        }
+    }
+
+    protected LoadImageRunnable setImage0(ImageEntry entry) {
         synchronized (this) {
             this.oldEntry = this.entry;
@@ -755,7 +762,5 @@
         }
         repaint();
-        if (entry != null) {
-            new Thread(new LoadImageRunnable(entry), LoadImageRunnable.class.getName()).start();
-        }
+        return entry != null ? new LoadImageRunnable(entry) : null;
     }
 
