diff --git a/code/game/machinery/computer/aifixer.dm b/code/game/machinery/computer/aifixer.dm
index 343f421b4e8..097efa2c75c 100644
--- a/code/game/machinery/computer/aifixer.dm
+++ b/code/game/machinery/computer/aifixer.dm
@@ -12,11 +12,12 @@
/obj/machinery/computer/aifixer/attackby(I as obj, user as mob, params)
if(occupant && istype(I, /obj/item/weapon/screwdriver))
- if(stat & (NOPOWER|BROKEN))
+ if(stat & BROKEN)
+ ..()
+ if(stat & NOPOWER)
to_chat(user, "The screws on [name]'s screen won't budge.")
else
- to_chat(user, "The screws on [name]'s screen won't budge and it emits a warning beep.")
- return
+ to_chat(user, "The screws on [name]'s screen won't budge and it emits a warning beep!.")
else
..()
@@ -135,3 +136,18 @@
to_chat(user, "ERROR: Reconstruction in progress.")
else if(!occupant)
to_chat(user, "ERROR: Unable to locate artificial intelligence.")
+
+/obj/machinery/computer/aifixer/Destroy()
+ if(occupant)
+ occupant.ghostize()
+ qdel(occupant)
+ occupant = null
+ return ..()
+
+/obj/machinery/computer/aifixer/emp_act()
+ if(occupant)
+ occupant.ghostize()
+ qdel(occupant)
+ occupant = null
+ else
+ ..()