diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index f407dcd82c0..ffbbca66afb 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -1191,15 +1191,13 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) return if(!opened && ((shove_flags & SHOVE_KNOCKDOWN_BLOCKED) || !(shove_flags & SHOVE_BLOCKED))) return - var/was_opened = opened - if(!toggle()) - return - if(was_opened) - if (!target.Move(get_turf(src), get_dir(target, src))) + if(opened) + if (target.loc != loc) return target.forceMove(src) else target.Knockdown(SHOVE_KNOCKDOWN_SOLID) + toggle() update_icon() target.visible_message(span_danger("[shover.name] shoves [target.name] into [src]!"), span_userdanger("You're shoved into [src] by [shover.name]!"),