diff --git a/apps/i2psnark/java/src/org/klomp/snark/MetaInfo.java b/apps/i2psnark/java/src/org/klomp/snark/MetaInfo.java
index 2eda795875746737af798b6122dc72ae833a0af4..21647cfb41ebcad1a65c890c3c1722f08a750680 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/MetaInfo.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/MetaInfo.java
@@ -145,7 +145,19 @@ public class MetaInfo
     this.info_hash = calculateInfoHash();
   }
 
-  public MetaInfo(MetaInfo old, String new_announce, List<List<String>> new_announce_list, String new_comment, String new_created_by)
+  /**
+   *  Will not change infohash.
+   *  Retains creation date of old MetaInfo if nonzero.
+   *
+   *  @parm new_announce may be null
+   *  @parm new_announce_list may be null
+   *  @parm new_comment may be null
+   *  @parm new_created_by may be null
+   *  @parm new_url_list may be null
+   *  @since 0.9.64
+   */
+  public MetaInfo(MetaInfo old, String new_announce, List<List<String>> new_announce_list, String new_comment,
+                  String new_created_by, List<String> new_url_list)
   {
     this.announce = new_announce;
     this.info_hash = old.info_hash;
@@ -162,8 +174,8 @@ public class MetaInfo
     this.announce_list = new_announce_list;
     this.comment = new_comment;
     this.created_by = new_created_by;
-    this.creation_date = old.creation_date;
-    this.url_list = old.url_list;
+    this.creation_date = old.creation_date > 0 ? old.creation_date : I2PAppContext.getGlobalContext().clock().now();
+    this.url_list = new_url_list;
     this.infoMap = old.infoMap;
     this.infoBytesLength = old.infoBytesLength;
   }
@@ -934,10 +946,7 @@ public class MetaInfo
                   String an = announce != null ? announce : meta.getAnnounce();
                   String cm = comment != null ? comment : meta.getComment();
                   List<String> urls = url_list != null ? url_list : meta.getWebSeedURLs();
-                  // changes/adds creation date
-                  MetaInfo meta2 = new MetaInfo(an, meta.getName(), null, meta.getFiles(), meta.getLengths(),
-                                                meta.getPieceLength(0), meta.getPieceHashes(), meta.getTotalLength(), meta.getPrivateTrackerStatus(),
-                                                meta.getAnnounceList(), cb, urls, cm);
+                  MetaInfo meta2 = new MetaInfo(meta, an, meta.getAnnounceList(), cm, cb, urls);
                   java.io.File from = new java.io.File(args[i]);
                   java.io.File to = new java.io.File(args[i] + ".bak");
                   if (net.i2p.util.FileUtil.copy(from, to, true, false)) {
diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
index f8fc6e253cd4ea1e2d1f4aa430dda88dde279ffa..3492d9d42ecb7eff66f14a317c19e7286b9e3842 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
@@ -4886,7 +4886,7 @@ public class I2PSnarkServlet extends BasicServlet {
             newComment = null;
         if (newCreatedBy.equals(""))
             newCreatedBy = null;
-        MetaInfo newMeta = new MetaInfo(meta, thePrimary, newAnnList, newComment, newCreatedBy);
+        MetaInfo newMeta = new MetaInfo(meta, thePrimary, newAnnList, newComment, newCreatedBy, meta.getWebSeedURLs());
         File f = new File(_manager.util().getTempDir(), "edit-" + _manager.util().getContext().random().nextLong() + ".torrent");
         OutputStream out = null;
         try {