Index: /trunk/src/org/openstreetmap/josm/actions/OverpassDownloadAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/OverpassDownloadAction.java	(revision 8931)
+++ /trunk/src/org/openstreetmap/josm/actions/OverpassDownloadAction.java	(revision 8932)
@@ -11,4 +11,6 @@
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
+import java.awt.event.FocusEvent;
+import java.awt.event.FocusListener;
 import java.awt.event.KeyEvent;
 import java.util.ArrayList;
@@ -21,4 +23,6 @@
 
 import javax.swing.AbstractAction;
+import javax.swing.Action;
+import javax.swing.ActionMap;
 import javax.swing.JButton;
 import javax.swing.JComponent;
@@ -83,14 +87,43 @@
     }
 
-    static final class OverpassDownloadDialog extends DownloadDialog {
-
-        protected HistoryComboBox overpassServer;
-        protected HistoryComboBox overpassWizard;
-        protected JosmTextArea overpassQuery;
+    private static final class DisableActionsFocusListener implements FocusListener {
+
+        private final ActionMap actionMap;
+
+        private DisableActionsFocusListener(ActionMap actionMap) {
+            this.actionMap = actionMap;
+        }
+
+        @Override
+        public void focusGained(FocusEvent e) {
+            enableActions(false);
+        }
+
+        @Override
+        public void focusLost(FocusEvent e) {
+            enableActions(true);
+        }
+
+        private void enableActions(boolean enabled) {
+            for (Object key : actionMap.allKeys()) {
+                Action action = actionMap.get(key);
+                if (action != null) {
+                    action.setEnabled(enabled);
+                }
+            }
+        }
+    }
+
+    private static final class OverpassDownloadDialog extends DownloadDialog {
+
+        private HistoryComboBox overpassServer;
+        private HistoryComboBox overpassWizard;
+        private JosmTextArea overpassQuery;
         private static OverpassDownloadDialog instance;
-        static final StringProperty OVERPASS_SERVER = new StringProperty("download.overpass.server", "http://overpass-api.de/api/");
-        static final CollectionProperty OVERPASS_SERVER_HISTORY = new CollectionProperty("download.overpass.servers",
+        private static final StringProperty OVERPASS_SERVER = new StringProperty("download.overpass.server", "http://overpass-api.de/api/");
+        private static final CollectionProperty OVERPASS_SERVER_HISTORY = new CollectionProperty("download.overpass.servers",
                 Arrays.asList("http://overpass-api.de/api/", "http://overpass.osm.rambler.ru/cgi/"));
-        static final CollectionProperty OVERPASS_WIZARD_HISTORY = new CollectionProperty("download.overpass.wizard", new ArrayList<String>());
+        private static final CollectionProperty OVERPASS_WIZARD_HISTORY = new CollectionProperty("download.overpass.wizard",
+                new ArrayList<String>());
 
         private OverpassDownloadDialog(Component parent) {
@@ -113,4 +146,7 @@
         protected void buildMainPanelAboveDownloadSelections(JPanel pnl) {
 
+            DisableActionsFocusListener disableActionsFocusListener =
+                    new DisableActionsFocusListener(slippyMapChooser.getNavigationComponentActionMap());
+
             pnl.add(new JLabel(), GBC.eol()); // needed for the invisible checkboxes cbDownloadGpxData, cbDownloadNotes
 
@@ -118,4 +154,5 @@
             overpassWizard = new HistoryComboBox();
             overpassWizard.setToolTipText(tooltip);
+            overpassWizard.getEditor().getEditorComponent().addFocusListener(disableActionsFocusListener);
             final JButton buildQuery = new JButton(tr("Build query"));
             buildQuery.addActionListener(new AbstractAction() {
@@ -143,4 +180,5 @@
             overpassQuery = new JosmTextArea("", 8, 80);
             overpassQuery.setFont(GuiHelper.getMonospacedFont(overpassQuery));
+            overpassQuery.addFocusListener(disableActionsFocusListener);
             JScrollPane scrollPane = new JScrollPane(overpassQuery);
             final JPanel pane = new JPanel(new BorderLayout());
@@ -160,7 +198,7 @@
 
             overpassServer = new HistoryComboBox();
+            overpassServer.getEditor().getEditorComponent().addFocusListener(disableActionsFocusListener);
             pnl.add(new JLabel(tr("Overpass server: ")), GBC.std().insets(5, 5, 5, 5));
             pnl.add(overpassServer, GBC.eol().fill(GBC.HORIZONTAL));
-
         }
 
Index: /trunk/src/org/openstreetmap/josm/gui/download/DownloadDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/download/DownloadDialog.java	(revision 8931)
+++ /trunk/src/org/openstreetmap/josm/gui/download/DownloadDialog.java	(revision 8932)
@@ -117,8 +117,9 @@
         pnl.add(cbDownloadNotes, GBC.eol().insets(50, 5, 1, 5));
 
+        // must be created before hook
+        slippyMapChooser = new SlippyMapChooser();
+
         // hook for subclasses
         buildMainPanelAboveDownloadSelections(pnl);
-
-        slippyMapChooser = new SlippyMapChooser();
 
         // predefined download selections
Index: /trunk/src/org/openstreetmap/josm/gui/download/SlippyMapChooser.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/download/SlippyMapChooser.java	(revision 8931)
+++ /trunk/src/org/openstreetmap/josm/gui/download/SlippyMapChooser.java	(revision 8932)
@@ -9,4 +9,5 @@
 import java.beans.PropertyChangeListener;
 
+import javax.swing.ActionMap;
 import javax.swing.JPanel;
 
@@ -16,13 +17,13 @@
 
 /**
- * JComponent that displays the slippy map tiles
+ * JComponent that displays the slippy map tiles.
  *
  * @author Tim Haussmann
- *
+ * @since 1390
  */
 public class SlippyMapChooser extends JPanel implements DownloadSelection, PropertyChangeListener {
 
     private DownloadDialog iGui;
-    private SlippyMapBBoxChooser pnlSlippyMapBBoxChooser;
+    private final SlippyMapBBoxChooser pnlSlippyMapBBoxChooser;
     // standard dimension
     private Dimension iDownloadDialogDimension;
@@ -87,3 +88,12 @@
         }
     }
+
+    /**
+     * Returns the action map of the underlying navigation component.
+     * @return the action map of the underlying navigation component
+     * @since 8932
+     */
+    public final ActionMap getNavigationComponentActionMap() {
+        return pnlSlippyMapBBoxChooser.getActionMap();
+    }
 }
