diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm
index b120720992c..588c8f916a4 100644
--- a/code/game/machinery/camera/camera_assembly.dm
+++ b/code/game/machinery/camera/camera_assembly.dm
@@ -65,18 +65,18 @@
setAnchored(TRUE)
return
- // Upgrades!
- if(is_type_in_typecache(W, possible_upgrades) && !is_type_in_list(W, upgrades)) // Is a possible upgrade and isn't in the camera already.
- if(!user.transferItemToLoc(W, src))
- return
- to_chat(user, "You attach \the [W] into the assembly inner circuits.")
- upgrades += W
- return
+ if(3) // Upgrades!
+ if(is_type_in_typecache(W, possible_upgrades) && !is_type_in_list(W, upgrades)) // Is a possible upgrade and isn't in the camera already.
+ if(!user.transferItemToLoc(W, src))
+ return
+ to_chat(user, "You attach \the [W] into the assembly inner circuits.")
+ upgrades += W
+ return
return ..()
/obj/structure/camera_assembly/crowbar_act(mob/user, obj/item/tool)
- if(!upgrades.len)
+ if(state != 3 || !upgrades.len)
return FALSE
var/obj/U = locate(/obj) in upgrades
if(U)