Index: trunk/src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java	(revision 13288)
+++ trunk/src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java	(revision 13289)
@@ -1000,4 +1000,5 @@
         MapFrame map = MainApplication.getMap();
         if (map.getToggleDialog(ImageViewerDialog.class) == null) {
+            ImageViewerDialog.createInstance();
             map.addToggleDialog(ImageViewerDialog.getInstance());
         }
Index: trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageViewerDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageViewerDialog.java	(revision 13288)
+++ trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageViewerDialog.java	(revision 13289)
@@ -59,4 +59,10 @@
     private boolean collapseButtonClicked;
 
+    static void createInstance() {
+        if (dialog != null)
+            throw new IllegalStateException("ImageViewerDialog instance was already created");
+        dialog = new ImageViewerDialog();
+    }
+
     /**
      * Replies the unique instance of this dialog
@@ -65,5 +71,5 @@
     public static ImageViewerDialog getInstance() {
         if (dialog == null)
-            dialog = new ImageViewerDialog();
+            throw new AssertionError("a new instance needs to be created first");
         return dialog;
     }
