diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm
index d5bf0f371a5..3e626648f71 100644
--- a/code/game/objects/structures/tables_racks.dm
+++ b/code/game/objects/structures/tables_racks.dm
@@ -698,6 +698,22 @@ Destroy type values:
return
..()
+/obj/structure/table/MouseDrop_T(mob/target, mob/living/carbon/human/user)
+ if(istype(target) && user == target)
+ if(user.canmove)
+ climb_table(user)
+
+/obj/structure/table/proc/climb_table(mob/user)
+ src.add_fingerprint(user)
+ user.visible_message("[user] starts climbing onto [src].", \
+ "[user] starts climbing onto [src].")
+ if(do_mob(user, user, 20))
+ user.loc = src.loc
+ user.visible_message("[user] climbs onto [src].", \
+ "[user] climbs onto [src].")
+ add_logs(user, src, "climbed onto")
+ user.Stun(2)
+
/*
* Racks
*/