diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/CopyCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/CopyCommand.java
index 40f8d5d388804009b9500f1cbc1a979b75472c5a..5534be103fc088db2a762530ed2bd2738deead60 100644
--- a/model-command/src/main/java/lcsb/mapviewer/commands/CopyCommand.java
+++ b/model-command/src/main/java/lcsb/mapviewer/commands/CopyCommand.java
@@ -1,5 +1,6 @@
 package lcsb.mapviewer.commands;
 
+import java.util.Calendar;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -256,6 +257,14 @@ public class CopyCommand extends NewModelCommand {
     for (MiriamData md : model.getMiriamData()) {
       result.addMiriamData(new MiriamData(md));
     }
+    
+    if (model.getCreationDate()!=null) {
+      result.setCreationDate((Calendar)(model.getCreationDate().clone()));
+    }
+    
+    for (Calendar calendar: model.getModificationDates()) {
+      result.addModificationDate((Calendar) calendar.clone());
+    }
 
     return result;
   }
diff --git a/model-command/src/test/java/lcsb/mapviewer/commands/CopyCommandTest.java b/model-command/src/test/java/lcsb/mapviewer/commands/CopyCommandTest.java
index 7b7cf8a4b313ade6fa2d55444278b2fde06b24c0..42b20d1a127910b9652c366514902685fc26935c 100644
--- a/model-command/src/test/java/lcsb/mapviewer/commands/CopyCommandTest.java
+++ b/model-command/src/test/java/lcsb/mapviewer/commands/CopyCommandTest.java
@@ -10,6 +10,7 @@ import java.awt.geom.Point2D;
 import java.io.ByteArrayInputStream;
 import java.io.InputStream;
 import java.nio.charset.StandardCharsets;
+import java.util.Calendar;
 
 import org.junit.After;
 import org.junit.Before;
@@ -431,5 +432,42 @@ public class CopyCommandTest extends CommandTestFunctions {
     }
   }
 
+  @Test
+  public void testCopyModelWithCreationDate() throws Exception {
+    try {
+      Model model = getModel();
+      model.setCreationDate(Calendar.getInstance());
+
+      Model copy = new CopyCommand(model).execute();
+
+      ModelComparator comparator = new ModelComparator();
+
+      assertEquals(0, comparator.compare(copy, model));
+
+    } catch (Exception e) {
+      e.printStackTrace();
+      throw e;
+    }
+  }
+
+  @Test
+  public void testCopyModelWithModificationDate() throws Exception {
+    try {
+      Model model = getModel();
+      model.addModificationDate(Calendar.getInstance());
+
+      Model copy = new CopyCommand(model).execute();
+
+      ModelComparator comparator = new ModelComparator();
+
+      assertEquals(0, comparator.compare(copy, model));
+
+    } catch (Exception e) {
+      e.printStackTrace();
+      throw e;
+    }
+  }
+
+
 
 }