Index: trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTask.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTask.java	(revision 14373)
+++ trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTask.java	(revision 14374)
@@ -200,5 +200,5 @@
     @Override
     public ProjectionBounds getDownloadProjectionBounds() {
-        return downloadTask != null ? downloadTask.computeBbox(currentBounds) : null;
+        return downloadTask != null ? downloadTask.computeBbox(currentBounds).orElse(null) : null;
     }
 
@@ -346,5 +346,5 @@
         }
 
-        protected ProjectionBounds computeBbox(Bounds bounds) {
+        protected Optional<ProjectionBounds> computeBbox(Bounds bounds) {
             BoundingXYVisitor v = new BoundingXYVisitor();
             if (bounds != null) {
@@ -353,5 +353,5 @@
                 v.computeBoundingBox(dataSet.getNodes());
             }
-            return v.getBounds();
+            return Optional.ofNullable(v.getBounds());
         }
 
@@ -378,6 +378,6 @@
                 layer.mergeFrom(dataSet);
                 MapFrame map = MainApplication.getMap();
-                if (map != null && zoomAfterDownload && bounds != null) {
-                    map.mapView.zoomTo(new ViewportData(computeBbox(bounds)));
+                if (map != null && zoomAfterDownload) {
+                    computeBbox(bounds).map(ViewportData::new).ifPresent(map.mapView::zoomTo);
                 }
                 if (!primitivesToUpdate.isEmpty()) {
