Index: /trunk/src/org/openstreetmap/josm/actions/ImageryAdjustAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/ImageryAdjustAction.java	(revision 13846)
+++ /trunk/src/org/openstreetmap/josm/actions/ImageryAdjustAction.java	(revision 13847)
@@ -371,5 +371,5 @@
                 return;
             if (oldMapMode != null) {
-                if (restoreOldMode || getValue() == ExtendedDialog.DialogClosedOtherwise) {
+                if (restoreOldMode || (!exitingMode && getValue() == ExtendedDialog.DialogClosedOtherwise)) {
                     map.selectMapMode(oldMapMode);
                 }
Index: /trunk/src/org/openstreetmap/josm/actions/mapmode/MapMode.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/mapmode/MapMode.java	(revision 13846)
+++ /trunk/src/org/openstreetmap/josm/actions/mapmode/MapMode.java	(revision 13847)
@@ -10,4 +10,6 @@
 import java.util.Collection;
 import java.util.Collections;
+
+import javax.swing.Action;
 
 import org.openstreetmap.josm.actions.JosmAction;
@@ -21,4 +23,5 @@
 import org.openstreetmap.josm.spi.preferences.PreferenceChangedListener;
 import org.openstreetmap.josm.tools.ImageProvider;
+import org.openstreetmap.josm.tools.Logging;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -69,4 +72,5 @@
      */
     public void enterMode() {
+        Logging.debug("Entering map mode: {0}", getValue(Action.NAME));
         putValue("active", Boolean.TRUE);
         Config.getPref().addPreferenceChangeListener(this);
@@ -80,4 +84,5 @@
      */
     public void exitMode() {
+        Logging.debug("Exiting map mode: {0}", getValue(Action.NAME));
         putValue("active", Boolean.FALSE);
         Config.getPref().removePreferenceChangeListener(this);
