Index: trunk/src/org/openstreetmap/josm/actions/AutoScaleAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/AutoScaleAction.java	(revision 1853)
+++ trunk/src/org/openstreetmap/josm/actions/AutoScaleAction.java	(revision 1854)
@@ -125,6 +125,13 @@
     @Override
     protected void updateEnabledState() {
-        setEnabled(Main.map != null);
+        if ("selection".equals(mode)) {
+            setEnabled(getCurrentDataSet() != null && ! getCurrentDataSet().getSelected().isEmpty());
+        } else {
+            setEnabled(
+                    Main.map != null
+                    && Main.map.mapView != null
+                    && Main.map.mapView.getAllLayers().size() > 0
+            );
+        }
     }
-
 }
Index: trunk/src/org/openstreetmap/josm/actions/ZoomInAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/ZoomInAction.java	(revision 1853)
+++ trunk/src/org/openstreetmap/josm/actions/ZoomInAction.java	(revision 1854)
@@ -8,4 +8,5 @@
 
 import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.tools.Shortcut;
 
@@ -15,5 +16,4 @@
         super(tr("Zoom In"), "dialogs/zoomin", tr("Zoom In"),
                 Shortcut.registerShortcut("view:zoomin", tr("View: {0}", tr("Zoom In")), KeyEvent.VK_PLUS, Shortcut.GROUP_DIRECT), true);
-        setEnabled(true);
     }
 
@@ -22,3 +22,13 @@
         Main.map.mapView.zoomToFactor(0.9);
     }
+
+    @Override
+    protected void updateEnabledState() {
+        setEnabled(
+                Main.map != null
+                && Main.map.mapView != null
+                && Main.map.mapView.getAllLayers().size() > 0
+        );
+    }
+
 }
Index: trunk/src/org/openstreetmap/josm/actions/ZoomOutAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/ZoomOutAction.java	(revision 1853)
+++ trunk/src/org/openstreetmap/josm/actions/ZoomOutAction.java	(revision 1854)
@@ -14,6 +14,5 @@
     public ZoomOutAction() {
         super(tr("Zoom Out"), "dialogs/zoomout", tr("Zoom Out"),
-        Shortcut.registerShortcut("view:zoomout", tr("View: {0}", tr("Zoom Out")), KeyEvent.VK_MINUS, Shortcut.GROUP_DIRECT), true);
-        setEnabled(true);
+                Shortcut.registerShortcut("view:zoomout", tr("View: {0}", tr("Zoom Out")), KeyEvent.VK_MINUS, Shortcut.GROUP_DIRECT), true);
     }
 
@@ -22,3 +21,12 @@
         Main.map.mapView.zoomToFactor(1/0.9);
     }
+
+    @Override
+    protected void updateEnabledState() {
+        setEnabled(
+                Main.map != null
+                && Main.map.mapView != null
+                && Main.map.mapView.getAllLayers().size() > 0
+        );
+    }
 }
Index: trunk/src/org/openstreetmap/josm/gui/MapView.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/MapView.java	(revision 1853)
+++ trunk/src/org/openstreetmap/josm/gui/MapView.java	(revision 1854)
@@ -31,11 +31,10 @@
 import org.openstreetmap.josm.actions.mapmode.MapMode;
 import org.openstreetmap.josm.data.Bounds;
-import org.openstreetmap.josm.data.ProjectionBounds;
 import org.openstreetmap.josm.data.SelectionChangedListener;
+import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.DataSource;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor;
-import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.gui.layer.MapViewPaintable;
