diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm
index 8890802cf9f..d3308b5e314 100644
--- a/code/game/objects/structures/door_assembly.dm
+++ b/code/game/objects/structures/door_assembly.dm
@@ -216,6 +216,17 @@
G.use(2)
var/mineralassembly = text2path("/obj/structure/door_assembly/door_assembly_[M]")
var/obj/structure/door_assembly/MA = new mineralassembly(loc)
+
+ if(MA.noglass && glass) //in case the new door doesn't support glass. prevents the new one from reverting to a normal airlock after being constructed.
+ var/obj/item/stack/sheet/dropped_glass
+ if(heat_proof_finished)
+ dropped_glass = new /obj/item/stack/sheet/rglass(drop_location())
+ heat_proof_finished = FALSE
+ else
+ dropped_glass = new /obj/item/stack/sheet/glass(drop_location())
+ glass = FALSE
+ to_chat(user, "As you finish, a [dropped_glass.singular_name] falls out of [MA]'s frame.")
+
transfer_assembly_vars(src, MA, TRUE)
else
to_chat(user, "You need at least two sheets add a mineral cover!")