diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm
index e6b8638e5f05..32d9950aa5a6 100644
--- a/code/game/machinery/firealarm.dm
+++ b/code/game/machinery/firealarm.dm
@@ -127,24 +127,28 @@ FIRE ALARM
/obj/machinery/firealarm/item_interaction(mob/living/user, obj/item/used, list/modifiers)
add_fingerprint(user)
- if(wiresexposed)
- if(buildstage == FIRE_ALARM_UNWIRED && istype(used, /obj/item/stack/cable_coil))
- var/obj/item/stack/cable_coil/coil = used
- if(!coil.use(5))
- to_chat(user, "You need a total of five cables to wire [src]!")
- return ITEM_INTERACT_COMPLETE
-
- buildstage = FIRE_ALARM_READY
- playsound(get_turf(src), used.usesound, 50, 1)
- to_chat(user, "You wire [src]!")
- update_icon()
- else if(buildstage == FIRE_ALARM_FRAME && istype(used, /obj/item/firealarm_electronics))
- to_chat(user, "You insert the circuit!")
- qdel(used)
- buildstage = FIRE_ALARM_UNWIRED
- update_icon()
+ if(!wiresexposed)
+ return ..()
+
+ if(buildstage == FIRE_ALARM_UNWIRED && istype(used, /obj/item/stack/cable_coil))
+ var/obj/item/stack/cable_coil/coil = used
+ if(!coil.use(5))
+ to_chat(user, "You need a total of five cables to wire [src]!")
+ return ITEM_INTERACT_COMPLETE
+ buildstage = FIRE_ALARM_READY
+ playsound(get_turf(src), used.usesound, 50, TRUE)
+ to_chat(user, "You wire [src]!")
+ update_icon()
return ITEM_INTERACT_COMPLETE
+
+ if(buildstage == FIRE_ALARM_FRAME && istype(used, /obj/item/firealarm_electronics))
+ to_chat(user, "You insert the circuit!")
+ qdel(used)
+ buildstage = FIRE_ALARM_UNWIRED
+ update_icon()
+ return ITEM_INTERACT_COMPLETE
+
return ..()
/obj/machinery/firealarm/crowbar_act(mob/user, obj/item/I)
@@ -198,6 +202,7 @@ FIRE ALARM
return
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
+ update_icon()
WIRECUTTER_SNIP_MESSAGE
var/obj/item/stack/cable_coil/new_coil = new /obj/item/stack/cable_coil(drop_location())
new_coil.amount = 5