Index: /trunk/src/org/openstreetmap/josm/gui/download/DownloadDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/download/DownloadDialog.java	(revision 12899)
+++ /trunk/src/org/openstreetmap/josm/gui/download/DownloadDialog.java	(revision 12900)
@@ -388,4 +388,5 @@
         }
 
+        downloadSourcesTab.getAllPanels().forEach(AbstractDownloadSourcePanel::restoreSettings);
         downloadSourcesTab.setSelected(DOWNLOAD_SOURCE_TAB.get());
 
@@ -486,5 +487,5 @@
      */
     protected <T> void addNewDownloadSourceTab(DownloadSource<T> downloadSource) {
-        downloadSourcesTab.addPanel(downloadSource.createPanel());
+        downloadSourcesTab.addPanel(downloadSource.createPanel(this));
     }
 
@@ -586,5 +587,5 @@
      * @since 12706
      */
-    private static class DownloadSourceTabs extends JTabbedPane implements DownloadSourceListener {
+    private class DownloadSourceTabs extends JTabbedPane implements DownloadSourceListener {
         private final List<AbstractDownloadSourcePanel<?>> allPanels = new ArrayList<>();
 
@@ -645,5 +646,5 @@
         @Override
         public void downloadSourceAdded(DownloadSource<?> source) {
-            addPanel(source.createPanel());
+            addPanel(source.createPanel(DownloadDialog.this));
         }
     }
Index: /trunk/src/org/openstreetmap/josm/gui/download/DownloadSource.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/download/DownloadSource.java	(revision 12899)
+++ /trunk/src/org/openstreetmap/josm/gui/download/DownloadSource.java	(revision 12900)
@@ -13,7 +13,9 @@
     /**
      * Creates a panel with GUI specific for the download source.
+     * @param dialog the parent download dialog, as {@code DownloadDialog.getInstance()} might not be initialized yet
      * @return Returns {@link AbstractDownloadSourcePanel}.
+     * @since 12900
      */
-    AbstractDownloadSourcePanel<T> createPanel();
+    AbstractDownloadSourcePanel<T> createPanel(DownloadDialog dialog);
 
     /**
Index: /trunk/src/org/openstreetmap/josm/gui/download/OSMDownloadSource.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/download/OSMDownloadSource.java	(revision 12899)
+++ /trunk/src/org/openstreetmap/josm/gui/download/OSMDownloadSource.java	(revision 12900)
@@ -49,6 +49,6 @@
 
     @Override
-    public AbstractDownloadSourcePanel<OSMDownloadData> createPanel() {
-        return new OSMDownloadSourcePanel(this);
+    public AbstractDownloadSourcePanel<OSMDownloadData> createPanel(DownloadDialog dialog) {
+        return new OSMDownloadSourcePanel(this, dialog);
     }
 
@@ -145,7 +145,9 @@
         /**
          * Creates a new {@link OSMDownloadSourcePanel}.
+         * @param dialog the parent download dialog, as {@code DownloadDialog.getInstance()} might not be initialized yet
          * @param ds The osm download source the panel is for.
+         * @since 12900
          */
-        public OSMDownloadSourcePanel(OSMDownloadSource ds) {
+        public OSMDownloadSourcePanel(OSMDownloadSource ds, DownloadDialog dialog) {
             super(ds);
             setLayout(new GridBagLayout());
@@ -153,5 +155,5 @@
             // size check depends on selected data source
             final ChangeListener checkboxChangeListener = e ->
-                    DownloadDialog.getInstance().getSelectedDownloadArea().ifPresent(this::updateSizeCheck);
+                    dialog.getSelectedDownloadArea().ifPresent(this::updateSizeCheck);
 
             // adding the download tasks
Index: /trunk/src/org/openstreetmap/josm/gui/download/OverpassDownloadSource.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/download/OverpassDownloadSource.java	(revision 12899)
+++ /trunk/src/org/openstreetmap/josm/gui/download/OverpassDownloadSource.java	(revision 12900)
@@ -48,5 +48,5 @@
 
     @Override
-    public AbstractDownloadSourcePanel<OverpassDownloadData> createPanel() {
+    public AbstractDownloadSourcePanel<OverpassDownloadData> createPanel(DownloadDialog dialog) {
         return new OverpassDownloadSourcePanel(this);
     }
