diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm
index 571d3f06c18..035cb1b31b2 100644
--- a/code/modules/surgery/organs/augments_arms.dm
+++ b/code/modules/surgery/organs/augments_arms.dm
@@ -62,8 +62,13 @@
Retract()
..()
+/obj/item/organ/internal/cyberimp/arm/proc/check_cuffs()
+ if(owner.handcuffed)
+ to_chat(owner, "The handcuffs interfere with [src]!")
+ return TRUE
+
/obj/item/organ/internal/cyberimp/arm/proc/Retract()
- if(!holder || (holder in src))
+ if(!holder || (holder in src) || check_cuffs())
return
owner.visible_message("[owner] retracts [holder] back into [owner.p_their()] [parent_organ == "r_arm" ? "right" : "left"] arm.",
@@ -80,10 +85,9 @@
playsound(get_turf(owner), 'sound/mecha/mechmove03.ogg', 50, 1)
/obj/item/organ/internal/cyberimp/arm/proc/Extend(obj/item/item)
- if(!(item in src))
+ if(!(item in src) || check_cuffs())
return
-
holder = item
holder.flags |= NODROP