diff --git a/src/org/openstreetmap/josm/actions/AutoScaleAction.java b/src/org/openstreetmap/josm/actions/AutoScaleAction.java
index 6b4d5ef..f4ec85f 100644
--- a/src/org/openstreetmap/josm/actions/AutoScaleAction.java
+++ b/src/org/openstreetmap/josm/actions/AutoScaleAction.java
@@ -220,6 +220,8 @@ public class AutoScaleAction extends JosmAction {
      * @return the first selected layer in the layer list dialog
      */
     protected Layer getFirstSelectedLayer() {
+        if (Main.main.getActiveLayer() == null)
+            return null;
         List<Layer> layers = LayerListDialog.getInstance().getModel().getSelectedLayers();
         if (layers.isEmpty())
             return null;
@@ -245,8 +247,6 @@ public class AutoScaleAction extends JosmAction {
             }
             break;
         case "layer":
-            if (Main.main.getActiveLayer() == null)
-                return null;
             // try to zoom to the first selected layer
             Layer l = getFirstSelectedLayer();
             if (l == null)
@@ -289,7 +289,7 @@ public class AutoScaleAction extends JosmAction {
             if (lastZoomTime > 0 && System.currentTimeMillis() - lastZoomTime > Main.pref.getLong("zoom.bounds.reset.time", 10*1000)) {
                 lastZoomTime = -1;
             }
-            DataSet dataset = Main.main.getCurrentDataSet();
+            DataSet dataset = getCurrentDataSet();
             if (dataset != null) {
                 List<DataSource> dataSources = new ArrayList<>(dataset.getDataSources());
                 int s = dataSources.size();
@@ -322,16 +322,14 @@ public class AutoScaleAction extends JosmAction {
             setEnabled(getCurrentDataSet() != null && !getCurrentDataSet().getSelected().isEmpty());
             break;
         case "layer":
-            if (!Main.isDisplayingMapView() || Main.map.mapView.getAllLayersAsList().isEmpty()) {
-                setEnabled(false);
-            } else {
-                // FIXME: should also check for whether a layer is selected in the layer list dialog
-                setEnabled(true);
-            }
+            setEnabled(getFirstSelectedLayer() != null);
             break;
         case "conflict":
             setEnabled(Main.map != null && Main.map.conflictDialog.getSelectedConflict() != null);
             break;
+        case "download":
+            setEnabled(getCurrentDataSet() != null && getCurrentDataSet().getDataSources().size()>0);
+            break;
         case "problem":
             setEnabled(Main.map != null && Main.map.validatorDialog.getSelectedError() != null);
             break;
@@ -413,6 +411,7 @@ public class AutoScaleAction extends JosmAction {
                     oldFrame.validatorDialog.removeTreeSelectionListener(validatorSelectionListener);
                 }
             }
+            updateEnabledState();
         }
     }
 }
diff --git a/src/org/openstreetmap/josm/actions/OrthogonalizeAction.java b/src/org/openstreetmap/josm/actions/OrthogonalizeAction.java
index 972ebcb..286ef70 100644
--- a/src/org/openstreetmap/josm/actions/OrthogonalizeAction.java
+++ b/src/org/openstreetmap/josm/actions/OrthogonalizeAction.java
@@ -598,12 +598,13 @@ public final class OrthogonalizeAction extends JosmAction {
         }
     }
 
-    /**
-     * Don't check, if the current selection is suited for orthogonalization.
-     * Instead, show a usage dialog, that explains, why it cannot be done.
-     */
     @Override
     protected void updateEnabledState() {
-        setEnabled(getCurrentDataSet() != null);
+        setEnabled(getCurrentDataSet() != null && !getCurrentDataSet().getSelected().isEmpty());
+    }
+
+    @Override
+    protected void updateEnabledState(Collection<? extends OsmPrimitive> selection) {
+        setEnabled(selection != null && !selection.isEmpty());
     }
 }
diff --git a/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java b/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java
index d78347b..db1768c 100644
--- a/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java
+++ b/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java
@@ -1791,7 +1791,9 @@ public class DrawAction extends MapMode implements MapViewPaintable, SelectionCh
 
         @Override
         protected void updateEnabledState() {
-            setEnabled(Main.main != null && Main.main.hasEditLayer());
+            setEnabled(Main.map != null && Main.map.mapMode instanceof DrawAction);
         }
+
+
     }
 }
diff --git a/src/org/openstreetmap/josm/actions/mapmode/ExtrudeAction.java b/src/org/openstreetmap/josm/actions/mapmode/ExtrudeAction.java
index e811caf..0e017a4 100644
--- a/src/org/openstreetmap/josm/actions/mapmode/ExtrudeAction.java
+++ b/src/org/openstreetmap/josm/actions/mapmode/ExtrudeAction.java
@@ -201,7 +201,7 @@ public class ExtrudeAction extends MapMode implements MapViewPaintable, KeyPress
 
         @Override
         protected void updateEnabledState() {
-            setEnabled(Main.main != null && Main.main.hasEditLayer());
+            setEnabled(Main.map != null && Main.map.mapMode instanceof ExtrudeAction);
         }
     }
 
diff --git a/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetSearchPrimitiveDialog.java b/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetSearchPrimitiveDialog.java
index 9ce1179..a9845eb 100644
--- a/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetSearchPrimitiveDialog.java
+++ b/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetSearchPrimitiveDialog.java
@@ -35,7 +35,7 @@ public final class TaggingPresetSearchPrimitiveDialog extends ExtendedDialog {
          * Constructs a new {@link TaggingPresetSearchPrimitiveDialog.Action}.
          */
         public Action() {
-            super(tr("Search for objects by preset"), "dialogs/search", tr("Show preset search dialog"),
+            super(tr("Search for objects by preset..."), "dialogs/search", tr("Show preset search dialog"),
                     Shortcut.registerShortcut("preset:search-objects", tr("Search for objects by preset"), KeyEvent.VK_F3, Shortcut.SHIFT),
                     false);
             putValue("toolbar", "presets/search-objects");
@@ -48,6 +48,11 @@ public final class TaggingPresetSearchPrimitiveDialog extends ExtendedDialog {
                 TaggingPresetSearchPrimitiveDialog.getInstance().showDialog();
             }
         }
+
+        @Override
+        protected void updateEnabledState() {
+            setEnabled(getEditLayer() != null);
+        }
     }
 
     /**
