Index: src/org/openstreetmap/josm/actions/AutoScaleAction.java
===================================================================
--- src/org/openstreetmap/josm/actions/AutoScaleAction.java	(revision 14983)
+++ src/org/openstreetmap/josm/actions/AutoScaleAction.java	(working copy)
@@ -399,6 +399,7 @@
                 System.currentTimeMillis() - lastZoomTime > Config.getPref().getLong("zoom.bounds.reset.time", TimeUnit.SECONDS.toMillis(10))) {
             lastZoomTime = -1;
         }
+        Bounds bbox = null;
         final DataSet dataset = getLayerManager().getActiveDataSet();
         if (dataset != null) {
             List<DataSource> dataSources = new ArrayList<>(dataset.getDataSources());
@@ -407,9 +408,11 @@
                 if (lastZoomTime == -1 || lastZoomArea == -1 || lastZoomArea > s) {
                     lastZoomArea = s-1;
                     v.visit(dataSources.get(lastZoomArea).bounds);
+                    bbox = dataSources.get(lastZoomArea).bounds;
                 } else if (lastZoomArea > 0) {
                     lastZoomArea -= 1;
                     v.visit(dataSources.get(lastZoomArea).bounds);
+                    bbox = dataSources.get(lastZoomArea).bounds;
                 } else {
                     lastZoomArea = -1;
                     Area sourceArea = getLayerManager().getActiveDataSet().getDataSourceArea();
@@ -423,7 +426,10 @@
                 lastZoomArea = -1;
             }
         }
-        MainApplication.getMap().mapView.zoomTo(v);
+        if (bbox != null)
+            MainApplication.getMap().mapView.zoomTo(bbox);
+        else
+            MainApplication.getMap().mapView.zoomTo(v);
     }
 
     @Override
