diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 2227cead3c3..e4e7598d556 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -299,12 +299,12 @@ var/held = 1 if(src.holdopen) - while(held == 1) + while(held == 1 && holdopen) //If it is no longer hold open, it should close. sleep(held? 10:40) held = 0 var/list/objects = locate(X,Y,Z) for(var/obj/T in objects) - if(!istype(T,/obj/machinery/door)) + if(!istype(T,/obj/machinery/door) && !(istype(T,/obj/machinery) && T.anchored == 1) && !istype(T,/obj/structure/cable) && !istype(T,/obj/structure/disposalpipe) && !(T.loc == get_turf(src))) held = 1 for(var/mob/T in objects) held = 1