Index: trunk/src/org/openstreetmap/josm/gui/dialogs/layer/DuplicateAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/layer/DuplicateAction.java	(revision 18232)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/layer/DuplicateAction.java	(revision 18233)
@@ -8,5 +8,4 @@
 import javax.swing.AbstractAction;
 
-import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.dialogs.IEnabledStateUpdating;
@@ -54,6 +53,5 @@
         if (layer instanceof OsmDataLayer) {
             String newName = LayerListTransferHandler.suggestNewLayerName(layer.getName(), MainApplication.getLayerManager().getLayers());
-            OsmDataLayer oldLayer = (OsmDataLayer) layer;
-            MainApplication.getLayerManager().addLayer(new OsmDataLayer(new DataSet(oldLayer.getDataSet()), newName, null));
+            MainApplication.getLayerManager().addLayer(((OsmDataLayer) layer).duplicate(newName));
         }
     }
Index: trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java	(revision 18232)
+++ trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java	(revision 18233)
@@ -1355,3 +1355,13 @@
         return true;
     }
+
+    /**
+     * Duplicates this layer with a new name and a copy of this layer dataset.
+     * @param newName name of new layer
+     * @return A copy of this layer
+     * @since 18233
+     */
+    public OsmDataLayer duplicate(String newName) {
+        return new OsmDataLayer(new DataSet(getDataSet()), newName, null);
+    }
 }
Index: trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelationSupportLayer.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelationSupportLayer.java	(revision 18232)
+++ trunk/src/org/openstreetmap/josm/gui/layer/geoimage/CorrelationSupportLayer.java	(revision 18233)
@@ -41,4 +41,16 @@
         data.setUploadPolicy(UploadPolicy.BLOCKED);
         rebuildGpxData();
+    }
+
+    @Override
+    public GpxData toGpxData() {
+        GpxData gpxData = new GpxData();
+        fillGpxData(gpxData, data, getAssociatedFile(), CORRELATION_PREFIX);
+        return gpxData;
+    }
+
+    @Override
+    public CorrelationSupportLayer duplicate(String newName) {
+        return new CorrelationSupportLayer(gpxData, newName);
     }
 
