diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index 5ef2a551721..eac7551efc3 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -396,7 +396,10 @@ var/global/BSACooldown = 0
Create Mob
"}
- usr << browse(dat, "window=admin2;size=210x180")
+ if(marked_datum && istype(marked_datum, /atom))
+ dat += "Duplicate Marked Datum
"
+
+ usr << browse(dat, "window=admin2;size=210x200")
return
/////////////////////////////////////////////////////////////////////////////////////////////////admins2.dm merge
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index b0d4ec4622c..875a7beb24f 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -1714,6 +1714,10 @@
if(!check_rights(R_SPAWN)) return
return create_mob(usr)
+ else if(href_list["dupe_marked_datum"])
+ if(!check_rights(R_SPAWN)) return
+ return DuplicateObject(marked_datum, perfectcopy=1, newloc=get_turf(usr))
+
else if(href_list["object_list"]) //this is the laggiest thing ever
if(!check_rights(R_SPAWN)) return