Index: trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/LoadAndZoomHandler.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/LoadAndZoomHandler.java	(revision 5599)
+++ trunk/src/org/openstreetmap/josm/io/remotecontrol/handler/LoadAndZoomHandler.java	(revision 5600)
@@ -126,4 +126,5 @@
         }
 
+        final Bounds bbox = new Bounds(new LatLon(minlat, minlon), new LatLon(maxlat, maxlon));
         if (args.containsKey("select") && PermissionPrefWithDefault.CHANGE_SELECTION.isAllowed()) {
             // select objects after downloading, zoom to selection.
@@ -168,5 +169,10 @@
                     ds.setSelected(newSel);
                     if (PermissionPrefWithDefault.CHANGE_VIEWPORT.isAllowed()) {
-                        AutoScaleAction.autoScale("selection");
+                        // zoom_mode=(download|selection), defaults to selection
+                        if (!"download".equals(args.get("zoom_mode"))) {
+                            AutoScaleAction.autoScale("selection");
+                        } else {
+                            zoom(bbox);
+                        }
                     }
                     if (Main.isDisplayingMapView() && Main.map.relationListDialog != null) {
@@ -179,5 +185,5 @@
         } else if (PermissionPrefWithDefault.CHANGE_VIEWPORT.isAllowed()) {
             // after downloading, zoom to downloaded area.
-            zoom(minlat, maxlat, minlon, maxlon);
+            zoom(bbox);
         }
 
@@ -215,10 +221,6 @@
     }
 
-    protected void zoom(double minlat, double maxlat, double minlon, double maxlon) {
-        final Bounds bounds = new Bounds(new LatLon(minlat, minlon),
-                new LatLon(maxlat, maxlon));
-
+    protected void zoom(final Bounds bounds) {
         // make sure this isn't called unless there *is* a MapView
-        //
         if (Main.isDisplayingMapView()) {
             Main.worker.execute(new Runnable() {
