diff --git a/code/game/objects/items/shooting_range.dm b/code/game/objects/items/shooting_range.dm
index ced0ee3160..989cc5a73e 100644
--- a/code/game/objects/items/shooting_range.dm
+++ b/code/game/objects/items/shooting_range.dm
@@ -34,6 +34,7 @@
/obj/item/target/on_attack_hand(mob/user, act_intent = user.a_intent, unarmed_attack_flags)
if(pinnedLoc)
pinnedLoc.removeTarget(user)
+ . = ..()
/obj/item/target/syndicate
icon_state = "target_s"
diff --git a/code/game/objects/structures/target_stake.dm b/code/game/objects/structures/target_stake.dm
index c5f3a089f7..dc920556f7 100644
--- a/code/game/objects/structures/target_stake.dm
+++ b/code/game/objects/structures/target_stake.dm
@@ -58,13 +58,10 @@
pinned_target.nullPinnedLoc()
nullPinnedTarget()
handle_density()
- if(ishuman(user))
- if(!user.get_active_held_item())
- user.put_in_hands(pinned_target)
- to_chat(user, "You take the target out of the stake.")
- else
- pinned_target.forceMove(user.drop_location())
- to_chat(user, "You take the target out of the stake.")
+ pinned_target.forceMove(get_turf(src))
+ to_chat(user, "You take the target out of the stake.")
+ if(user.can_hold_items())
+ user.put_in_hands(pinned_target)
/obj/structure/target_stake/bullet_act(obj/item/projectile/P)
if(pinned_target)