diff --git a/code/game/objects/structures/stool_bed_chair_nest/bed.dm b/code/game/objects/structures/stool_bed_chair_nest/bed.dm
index c6bdfaf05fa..6c3db50c877 100644
--- a/code/game/objects/structures/stool_bed_chair_nest/bed.dm
+++ b/code/game/objects/structures/stool_bed_chair_nest/bed.dm
@@ -132,14 +132,18 @@
remove_padding()
else if(istype(W, /obj/item/weapon/grab))
- user.visible_message("[user] attempts to buckle [W:affecting] into \the [src]!")
+ var/obj/item/weapon/grab/G = W
+ var/mob/living/affecting = G.affecting
+ user.visible_message("[user] attempts to buckle [affecting] into \the [src]!")
if(do_after(user, 20))
- W:affecting.loc = loc
- if(buckle_mob(W:affecting))
- W:affecting.visible_message(\
- "[W:affecting.name] is buckled to [src] by [user.name]!",\
- "You are buckled to [src] by [user.name]!",\
- "You hear metal clanking.")
+ affecting.loc = loc
+ spawn(0)
+ if(buckle_mob(affecting))
+ affecting.visible_message(\
+ "[affecting.name] is buckled to [src] by [user.name]!",\
+ "You are buckled to [src] by [user.name]!",\
+ "You hear metal clanking.")
+ qdel(W)
else
..()