Index: /applications/editors/josm/plugins/cadastre-fr/build.xml
===================================================================
--- /applications/editors/josm/plugins/cadastre-fr/build.xml	(revision 35307)
+++ /applications/editors/josm/plugins/cadastre-fr/build.xml	(revision 35308)
@@ -4,5 +4,5 @@
     <property name="commit.message" value="Changed constructor for Plugin"/>
     <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
-    <property name="plugin.main.version" value="15419"/>
+    <property name="plugin.main.version" value="15786"/>
     
     <!-- Configure these properties (replace "..." accordingly).
Index: /applications/editors/josm/plugins/cadastre-fr/src/org/openstreetmap/josm/plugins/fr/cadastre/download/CadastreDownloadTask.java
===================================================================
--- /applications/editors/josm/plugins/cadastre-fr/src/org/openstreetmap/josm/plugins/fr/cadastre/download/CadastreDownloadTask.java	(revision 35307)
+++ /applications/editors/josm/plugins/cadastre-fr/src/org/openstreetmap/josm/plugins/fr/cadastre/download/CadastreDownloadTask.java	(revision 35308)
@@ -26,5 +26,7 @@
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
+import org.openstreetmap.josm.gui.util.GuiHelper;
 import org.openstreetmap.josm.plugins.fr.cadastre.api.CadastreAPI;
+import org.openstreetmap.josm.spi.preferences.Config;
 import org.openstreetmap.josm.tools.Logging;
 import org.openstreetmap.josm.tools.Utils;
@@ -76,4 +78,8 @@
                     Logging.error(e);
                 }
+            }
+            List<CadastreDataLayer> layers = MainApplication.getLayerManager().getLayersOfType(CadastreDataLayer.class);
+            if (layers.size() > 1 && Config.getPref().getBoolean("cadastrewms.merge.data.layers")) {
+                GuiHelper.runInEDT(() -> MainApplication.getMenu().merge.merge(layers));
             }
         });
Index: /applications/editors/josm/plugins/cadastre-fr/src/org/openstreetmap/josm/plugins/fr/cadastre/preferences/CadastrePreferenceSetting.java
===================================================================
--- /applications/editors/josm/plugins/cadastre-fr/src/org/openstreetmap/josm/plugins/fr/cadastre/preferences/CadastrePreferenceSetting.java	(revision 35307)
+++ /applications/editors/josm/plugins/cadastre-fr/src/org/openstreetmap/josm/plugins/fr/cadastre/preferences/CadastrePreferenceSetting.java	(revision 35308)
@@ -65,4 +65,6 @@
 
     private JCheckBox dontUseRelation = new JCheckBox(tr("Don''t use relation for addresses (but \"addr:street\" on elements)."));
+
+    private JCheckBox mergeDataLayers = new JCheckBox(tr("Merge downloaded cadastre data layers together."));
 
     private JRadioButton grabMultiplier1 = new JRadioButton("", true);
@@ -374,4 +376,12 @@
         dontUseRelation.setToolTipText(tr("Enable this to use the tag \"add:street\" on nodes."));
         cadastrewms.add(dontUseRelation, GBC.eop().insets(0, 0, 0, 0));
+
+        // separator
+        cadastrewms.add(new JSeparator(SwingConstants.HORIZONTAL), GBC.eol().fill(GBC.HORIZONTAL));
+
+        // option to merge downloaded data layers
+        mergeDataLayers.setSelected(Config.getPref().getBoolean("cadastrewms.merge.data.layers", false));
+        mergeDataLayers.setToolTipText(tr("Merge automatically all cadastre data layers in a single final layer."));
+        cadastrewms.add(mergeDataLayers, GBC.eop().insets(0, 0, 0, 0));
 
         // end of dialog, scroll bar
@@ -454,4 +464,5 @@
         CacheControl.cacheEnabled = enableCache.isSelected();
         Config.getPref().putBoolean("cadastrewms.addr.dontUseRelation", dontUseRelation.isSelected());
+        Config.getPref().putBoolean("cadastrewms.merge.data.layers", mergeDataLayers.isSelected());
         CadastrePlugin.refreshConfiguration();
         CadastrePlugin.refreshMenu();
