Index: trunk/src/org/openstreetmap/josm/gui/download/DownloadDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/download/DownloadDialog.java	(revision 14390)
+++ trunk/src/org/openstreetmap/josm/gui/download/DownloadDialog.java	(revision 14391)
@@ -67,5 +67,4 @@
     private static final StringProperty DOWNLOAD_SOURCE_TAB = new StringProperty("download.source.tab", OSMDownloadSource.SIMPLE_NAME);
     private static final BooleanProperty DOWNLOAD_AUTORUN = new BooleanProperty("download.autorun", false);
-    private static final BooleanProperty DOWNLOAD_NEWLAYER = new BooleanProperty("download.newlayer", false);
     private static final BooleanProperty DOWNLOAD_ZOOMTODATA = new BooleanProperty("download.zoomtodata", true);
 
@@ -97,5 +96,4 @@
     protected final DownloadSourceTabs downloadSourcesTab = new DownloadSourceTabs();
 
-    protected JCheckBox cbNewLayer;
     protected JCheckBox cbStartup;
     protected JCheckBox cbZoomToDownloadedData;
@@ -113,4 +111,5 @@
 
     protected JButton btnDownload;
+    protected JButton btnDownloadNewLayer;
     protected JButton btnCancel;
     protected JButton btnHelp;
@@ -155,8 +154,4 @@
         mainPanel.add(dialogSplit, GBC.eol().fill());
 
-        cbNewLayer = new JCheckBox(tr("Download as new layer"));
-        cbNewLayer.setToolTipText(tr("<html>Select to download data into a new data layer.<br>"
-                +"Unselect to download into the currently active data layer.</html>"));
-
         cbStartup = new JCheckBox(tr("Open this dialog on startup"));
         cbStartup.setToolTipText(
@@ -168,5 +163,4 @@
         cbZoomToDownloadedData.setToolTipText(tr("Select to zoom to entire newly downloaded data."));
 
-        mainPanel.add(cbNewLayer, GBC.std().anchor(GBC.WEST).insets(5, 5, 5, 5));
         mainPanel.add(cbStartup, GBC.std().anchor(GBC.WEST).insets(15, 5, 5, 5));
         mainPanel.add(cbZoomToDownloadedData, GBC.std().anchor(GBC.WEST).insets(15, 5, 5, 5));
@@ -189,5 +183,6 @@
      */
     protected final JPanel buildButtonPanel() {
-        btnDownload = new JButton(new DownloadAction());
+        btnDownload = new JButton(new DownloadAction(false));
+        btnDownloadNewLayer = new JButton(new DownloadAction(true));
         btnCancel = new JButton(new CancelAction());
         btnHelp = new JButton(
@@ -197,4 +192,5 @@
 
         pnl.add(btnDownload);
+        pnl.add(btnDownloadNewLayer);
         pnl.add(btnCancel);
         pnl.add(btnHelp);
@@ -205,5 +201,4 @@
         InputMapUtils.enableEnter(btnHelp);
 
-        InputMapUtils.addEnterActionWhenAncestor(cbNewLayer, btnDownload.getAction());
         InputMapUtils.addEnterActionWhenAncestor(cbStartup, btnDownload.getAction());
         InputMapUtils.addEnterActionWhenAncestor(cbZoomToDownloadedData, btnDownload.getAction());
@@ -297,13 +292,4 @@
 
     /**
-     * Replies true if the user requires to download into a new layer
-     *
-     * @return true if the user requires to download into a new layer
-     */
-    public boolean isNewLayerRequired() {
-        return cbNewLayer.isSelected();
-    }
-
-    /**
      * Replies true if the user requires to zoom to new downloaded data
      *
@@ -368,5 +354,4 @@
         downloadSourcesTab.getAllPanels().forEach(AbstractDownloadSourcePanel::rememberSettings);
         downloadSourcesTab.getSelectedPanel().ifPresent(panel -> DOWNLOAD_SOURCE_TAB.put(panel.getSimpleName()));
-        DOWNLOAD_NEWLAYER.put(cbNewLayer.isSelected());
         DOWNLOAD_ZOOMTODATA.put(cbZoomToDownloadedData.isSelected());
         if (currentBounds != null) {
@@ -379,5 +364,4 @@
      */
     public void restoreSettings() {
-        cbNewLayer.setSelected(DOWNLOAD_NEWLAYER.get());
         cbStartup.setSelected(isAutorunEnabled());
         cbZoomToDownloadedData.setSelected(DOWNLOAD_ZOOMTODATA.get());
@@ -475,6 +459,6 @@
      * the download dialog.
      */
-    public DownloadSettings getDownloadSettings() {
-        return new DownloadSettings(currentBounds, isNewLayerRequired(), isZoomToDownloadedDataRequired());
+    public DownloadSettings getDownloadSettings(boolean newLayer) {
+        return new DownloadSettings(currentBounds, newLayer, isZoomToDownloadedDataRequired());
     }
 
@@ -543,8 +527,16 @@
      */
     class DownloadAction extends AbstractAction {
-        DownloadAction() {
-            putValue(NAME, tr("Download"));
-            new ImageProvider("download").getResource().attachImageIcon(this);
-            putValue(SHORT_DESCRIPTION, tr("Click to download the currently selected area"));
+        final boolean newLayer;
+        DownloadAction(boolean newLayer) {
+            this.newLayer = newLayer;
+            if (!newLayer) {
+                putValue(NAME, tr("Download"));
+                putValue(SHORT_DESCRIPTION, tr("Click to download the currently selected area"));
+                new ImageProvider("download").getResource().attachImageIcon(this);
+            } else {
+                putValue(NAME, tr("Download as new layer"));
+                putValue(SHORT_DESCRIPTION, tr("Click to download the currently selected area into a new data layer"));
+                new ImageProvider("download_new_layer").getResource().attachImageIcon(this);
+            }
             setEnabled(!NetworkManager.isOffline(OnlineResource.OSM_API));
         }
@@ -557,5 +549,5 @@
             rememberSettings();
             downloadSourcesTab.getSelectedPanel().ifPresent(panel -> {
-                DownloadSettings downloadSettings = getDownloadSettings();
+                DownloadSettings downloadSettings = getDownloadSettings(newLayer);
                 if (panel.checkDownload(downloadSettings)) {
                     setCanceled(false);
