Index: applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryData.java
===================================================================
--- applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryData.java	(revision 31451)
+++ applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryData.java	(revision 31452)
@@ -3,4 +3,5 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.plugins.mapillary.cache.Utils;
+import org.openstreetmap.josm.plugins.mapillary.gui.MapillaryMainDialog;
 
 import java.util.ArrayList;
@@ -35,4 +36,7 @@
 
     addListener(MapillaryPlugin.walkAction);
+    addListener(MapillaryPlugin.zoomAction);
+    addListener(MapillaryPlugin.uploadAction);
+    addListener(MapillaryMainDialog.getInstance());
   }
 
Index: applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryPlugin.java
===================================================================
--- applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryPlugin.java	(revision 31451)
+++ applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryPlugin.java	(revision 31452)
@@ -53,5 +53,6 @@
   /** Import action */
   public static MapillaryImportAction importAction;
-  private final MapillaryZoomAction zoomAction;
+  /** Zoom action */
+  public static MapillaryZoomAction zoomAction;
   private final MapillaryDownloadViewAction downloadViewAction;
   private final MapillaryImportIntoSequenceAction importIntoSequenceAction;
@@ -59,5 +60,6 @@
   /** Walk action */
   public static MapillaryWalkAction walkAction;
-  private final MapillaryUploadAction uploadAction;
+  /** Upload action */
+  public static MapillaryUploadAction uploadAction;
 
   /** Menu button for the {@link MapillaryDownloadAction} action. */
@@ -100,9 +102,9 @@
     this.exportAction = new MapillaryExportAction();
     importAction = new MapillaryImportAction();
-    this.zoomAction = new MapillaryZoomAction();
+    zoomAction = new MapillaryZoomAction();
     this.downloadViewAction = new MapillaryDownloadViewAction();
     this.importIntoSequenceAction = new MapillaryImportIntoSequenceAction();
     this.joinAction = new MapillaryJoinAction();
-    this.uploadAction = new MapillaryUploadAction();
+    uploadAction = new MapillaryUploadAction();
 
     if (Main.main != null) { // important for headless mode
@@ -115,7 +117,7 @@
       IMPORT_MENU = MainMenu.add(Main.main.menu.fileMenu, importAction, false,
           14);
-      UPLOAD_MENU = MainMenu.add(Main.main.menu.fileMenu, this.uploadAction,
+      UPLOAD_MENU = MainMenu.add(Main.main.menu.fileMenu, uploadAction,
           false, 14);
-      ZOOM_MENU = MainMenu.add(Main.main.menu.viewMenu, this.zoomAction, false,
+      ZOOM_MENU = MainMenu.add(Main.main.menu.viewMenu, zoomAction, false,
           15);
       DOWNLOAD_VIEW_MENU = MainMenu.add(Main.main.menu.fileMenu,
Index: applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryUploadAction.java
===================================================================
--- applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryUploadAction.java	(revision 31451)
+++ applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryUploadAction.java	(revision 31452)
@@ -38,5 +38,4 @@
             Shortcut.NONE), false, "mapillaryUpload", false);
     this.setEnabled(false);
-    MapillaryLayer.getInstance().getData().addListener(this);
   }
 
Index: applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryWalkAction.java
===================================================================
--- applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryWalkAction.java	(revision 31451)
+++ applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryWalkAction.java	(revision 31452)
@@ -60,5 +60,5 @@
       fireWalkStarted();
       this.thread.start();
-      MapillaryMainDialog.getInstance().setMode(MapillaryMainDialog.Mode.WALK);
+      MapillaryMainDialog.getInstance().setMode(MapillaryMainDialog.MODE.WALK);
     }
   }
Index: applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryZoomAction.java
===================================================================
--- applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryZoomAction.java	(revision 31451)
+++ applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/MapillaryZoomAction.java	(revision 31452)
@@ -35,5 +35,4 @@
             KeyEvent.CHAR_UNDEFINED, Shortcut.NONE), false, "mapillaryZoom",
         false);
-    MapillaryLayer.getInstance().getData().addListener(this);
     this.setEnabled(false);
   }
Index: applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/WalkThread.java
===================================================================
--- applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/WalkThread.java	(revision 31451)
+++ applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/actions/WalkThread.java	(revision 31452)
@@ -196,5 +196,5 @@
       this.data.removeListener(this);
       MapillaryMainDialog.getInstance()
-          .setMode(MapillaryMainDialog.Mode.NORMAL);
+          .setMode(MapillaryMainDialog.MODE.NORMAL);
     }
   }
Index: applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/gui/MapillaryMainDialog.java
===================================================================
--- applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/gui/MapillaryMainDialog.java	(revision 31451)
+++ applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/gui/MapillaryMainDialog.java	(revision 31452)
@@ -76,5 +76,5 @@
    *
    */
-  public static enum Mode {
+  public static enum MODE {
     /** Standard mode to view pictures. */
     NORMAL,
@@ -96,5 +96,4 @@
             tr("Open Mapillary main dialog"), KeyEvent.VK_M, Shortcut.NONE),
         200, false, MapillaryPreferenceSetting.class);
-    MapillaryLayer.getInstance().getData().addListener(this);
     addShortcuts();
     this.mapillaryImageDisplay = new MapillaryImageDisplay();
@@ -148,5 +147,5 @@
    *          The mode to be set.
    */
-  public void setMode(Mode mode) {
+  public void setMode(MODE mode) {
     switch (mode) {
       case NORMAL:
@@ -166,4 +165,6 @@
     }
     disableAllButtons();
+    if (mode.equals(MODE.NORMAL))
+      updateImage();
 
   }
