Index: trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTask.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTask.java	(revision 3061)
+++ trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTask.java	(revision 3064)
@@ -11,5 +11,4 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.Bounds;
-import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.DataSource;
@@ -64,5 +63,6 @@
                 new OsmServerLocationReader(url),
                 progressMonitor);
-        currentBounds = new Bounds(new LatLon(0,0), new LatLon(0,0));
+        //currentBounds = new Bounds(new LatLon(0,0), new LatLon(0,0));
+        currentBounds = null;
         return Main.worker.submit(downloadTask);
     }
@@ -139,6 +139,6 @@
             if (dataSet == null)
                 return; // user canceled download or error occurred
-            if (currentBounds == null)
-                return; // no data retrieved
+            //if (currentBounds == null)
+            //  return; // no data retrieved
             if (dataSet.allPrimitives().isEmpty()) {
                 rememberErrorMessage(tr("No data found in this area."));
@@ -156,5 +156,5 @@
                 OsmDataLayer layer = new OsmDataLayer(dataSet, OsmDataLayer.createNewName(), null);
                 final boolean isDisplayingMapView = Main.isDisplayingMapView();
-                
+
                 Main.main.addLayer(layer);
 
@@ -163,5 +163,9 @@
                 if (isDisplayingMapView) {
                     BoundingXYVisitor v = new BoundingXYVisitor();
-                    v.visit(currentBounds);
+                    if (currentBounds != null) {
+                        v.visit(currentBounds);
+                    } else {
+                        v.computeBoundingBox(dataSet.getNodes());
+                    }
                     Main.map.mapView.recalculateCenterScale(v);
                 }
@@ -174,5 +178,9 @@
                 target.mergeFrom(dataSet);
                 BoundingXYVisitor v = new BoundingXYVisitor();
-                v.visit(currentBounds);
+                if (currentBounds != null) {
+                    v.visit(currentBounds);
+                } else {
+                    v.computeBoundingBox(dataSet.getNodes());
+                }
                 Main.map.mapView.recalculateCenterScale(v);
                 target.onPostDownloadFromServer();
