diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
index 08f1239281c..436f616982e 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
@@ -261,7 +261,7 @@
help_shake_act(M)
if ("grab")
- if (M == src)
+ if (M == src || anchored)
return
var/obj/item/weapon/grab/G = new /obj/item/weapon/grab(M, src)
diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm
index 3b0ceb7a4df..85734c49047 100644
--- a/code/modules/mob/living/carbon/alien/larva/larva.dm
+++ b/code/modules/mob/living/carbon/alien/larva/larva.dm
@@ -233,7 +233,7 @@
help_shake_act(M)
if ("grab")
- if (M == src)
+ if (M == src || anchored)
return
var/obj/item/weapon/grab/G = new /obj/item/weapon/grab(M, src )
diff --git a/code/modules/mob/living/carbon/human/human_attackalien.dm b/code/modules/mob/living/carbon/human/human_attackalien.dm
index 5e30c54e107..d8440350bc6 100644
--- a/code/modules/mob/living/carbon/human/human_attackalien.dm
+++ b/code/modules/mob/living/carbon/human/human_attackalien.dm
@@ -7,7 +7,8 @@
if ("help")
visible_message(text("\blue [M] caresses [src] with its scythe like arm."))
if ("grab")
- if(M == src) return
+ if(M == src || anchored)
+ return
if (w_uniform)
w_uniform.add_fingerprint(M)
var/obj/item/weapon/grab/G = new /obj/item/weapon/grab(M, src)
diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm
index 92bf311efff..028df8c757d 100644
--- a/code/modules/mob/living/carbon/human/human_attackhand.dm
+++ b/code/modules/mob/living/carbon/human/human_attackhand.dm
@@ -33,7 +33,7 @@
src << "You feel a breath of fresh air enter your lungs. It feels good."
if("grab")
- if(M == src)
+ if(M == src || anchored)
return 0
if(w_uniform)
w_uniform.add_fingerprint(M)
diff --git a/code/modules/mob/living/carbon/metroid/metroid.dm b/code/modules/mob/living/carbon/metroid/metroid.dm
index 823444b2578..a1e2f1a0f0a 100644
--- a/code/modules/mob/living/carbon/metroid/metroid.dm
+++ b/code/modules/mob/living/carbon/metroid/metroid.dm
@@ -432,7 +432,7 @@
help_shake_act(M)
if ("grab")
- if (M == src)
+ if (M == src || anchored)
return
var/obj/item/weapon/grab/G = new /obj/item/weapon/grab(M, src )
@@ -523,7 +523,7 @@
O.show_message(text("\red [] has attempted to lunge at [name]!", M), 1)
if ("grab")
- if (M == src)
+ if (M == src || anchored)
return
var/obj/item/weapon/grab/G = new /obj/item/weapon/grab(M, src )
diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm
index df8e09f4bf2..ae9d62ef7a1 100644
--- a/code/modules/mob/living/carbon/monkey/monkey.dm
+++ b/code/modules/mob/living/carbon/monkey/monkey.dm
@@ -160,7 +160,7 @@
O.show_message(text("\red [] has attempted to punch [name]!", M), 1)
else
if (M.a_intent == "grab")
- if (M == src)
+ if (M == src || anchored)
return
var/obj/item/weapon/grab/G = new /obj/item/weapon/grab(M, src )
@@ -230,7 +230,7 @@
O.show_message(text("\red [] has attempted to lunge at [name]!", M), 1)
if ("grab")
- if (M == src)
+ if (M == src || anchored)
return
var/obj/item/weapon/grab/G = new /obj/item/weapon/grab(M, src )
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index 2b2d0009db7..43856b9014e 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -587,7 +587,7 @@
O.show_message(text("\blue [M] caresses [src]'s plating with its scythe like arm."), 1)
if ("grab")
- if (M == src)
+ if (M == src || anchored)
return
var/obj/item/weapon/grab/G = new /obj/item/weapon/grab(M, src )
diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm
index 51204aa5a4f..d7e8223808d 100644
--- a/code/modules/mob/living/simple_animal/simple_animal.dm
+++ b/code/modules/mob/living/simple_animal/simple_animal.dm
@@ -268,7 +268,7 @@
O.show_message("\blue [M] [response_help] [src].")
if("grab")
- if (M == src)
+ if (M == src || anchored)
return
if (!(status_flags & CANPUSH))
return
@@ -304,7 +304,7 @@
if ((O.client && !( O.blinded )))
O.show_message(text("\blue [M] caresses [src] with its scythe like arm."), 1)
if ("grab")
- if(M == src)
+ if(M == src || anchored)
return
if(!(status_flags & CANPUSH))
return
@@ -467,4 +467,4 @@
var/obj/mecha/M = target
if (M.occupant)
return 0
- return 1
+ return 1