diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index be03e96784e..c346dc9db7d 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -623,9 +623,10 @@
for(var/mob/O in viewers(CM))// lags so hard that 40s isn't lenient enough - Quarxink
O.show_message("\red [CM] manages to remove the handcuffs!", 1)
CM << "\blue You successfully remove \the [CM.handcuffed]."
- CM.handcuffed.loc = usr.loc
+ CM.drop_from_inventory(CM.handcuffed)
CM.handcuffed = null
CM.update_inv_handcuffed()
+
else if(CM.legcuffed && CM.canmove && (CM.last_special <= world.time))
CM.next_move = world.time + 100
CM.last_special = world.time + 100
@@ -661,7 +662,7 @@
for(var/mob/O in viewers(CM))// lags so hard that 40s isn't lenient enough - Quarxink
O.show_message("\red [CM] manages to remove the legcuffs!", 1)
CM << "\blue You successfully remove \the [CM.legcuffed]."
- CM.legcuffed.loc = usr.loc
+ CM.drop_from_inventory(CM.legcuffed)
CM.legcuffed = null
CM.update_inv_legcuffed()