diff --git a/code/modules/tables/interactions.dm b/code/modules/tables/interactions.dm
index 1b287294b1..5614a1b8c2 100644
--- a/code/modules/tables/interactions.dm
+++ b/code/modules/tables/interactions.dm
@@ -106,9 +106,9 @@
else
user << "You need a better grip to do that!"
return
- else
- G.affecting.loc = src.loc
- G.affecting.Weaken(5)
+ else if(!M.Check_Shoegrip() && do_mob(user, M, 5+(M.getarmor(BP_TORSO,"melee")/4)))
+ M.forceMove(get_turf(src))
+ M.Weaken(round(5-(M.getarmor(null, "melee")/20)))
visible_message("[G.assailant] puts [G.affecting] on \the [src].")
qdel(W)
return