Index: trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTask.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTask.java	(revision 13927)
+++ trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTask.java	(revision 13928)
@@ -11,4 +11,5 @@
 import java.util.Collections;
 import java.util.HashSet;
+import java.util.Objects;
 import java.util.Set;
 import java.util.concurrent.Future;
@@ -186,5 +187,5 @@
     public abstract static class AbstractInternalTask extends PleaseWaitRunnable {
 
-        protected final boolean newLayer;
+        protected final DownloadParams settings;
         protected final boolean zoomAfterDownload;
         protected DataSet dataSet;
@@ -201,5 +202,5 @@
         public AbstractInternalTask(DownloadParams settings, String title, boolean ignoreException, boolean zoomAfterDownload) {
             super(title, ignoreException);
-            this.newLayer = settings.isNewLayer();
+            this.settings = Objects.requireNonNull(settings);
             this.zoomAfterDownload = zoomAfterDownload;
         }
@@ -218,5 +219,5 @@
                 boolean zoomAfterDownload) {
             super(title, progressMonitor, ignoreException);
-            this.newLayer = settings.isNewLayer();
+            this.settings = Objects.requireNonNull(settings);
             this.zoomAfterDownload = zoomAfterDownload;
         }
@@ -260,4 +261,7 @@
 
         protected OsmDataLayer createNewLayer(String layerName) {
+            if (layerName == null || layerName.isEmpty()) {
+                layerName = settings.getLayerName();
+            }
             if (layerName == null || layerName.isEmpty()) {
                 layerName = OsmDataLayer.createNewName();
@@ -282,5 +286,5 @@
         protected OsmDataLayer addNewLayerIfRequired(String newLayerName) {
             long numDataLayers = getNumModifiableDataLayers();
-            if (newLayer || numDataLayers == 0 || (numDataLayers > 1 && getEditLayer() == null)) {
+            if (settings.isNewLayer() || numDataLayers == 0 || (numDataLayers > 1 && getEditLayer() == null)) {
                 // the user explicitly wants a new layer, we don't have any layer at all
                 // or it is not clear which layer to merge to
