diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index d9444c3157..f4a65ce984 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -1062,7 +1062,7 @@
to_chat(user, "The airlock's motors resist your efforts to force it!")
else if(locked)
to_chat(user, "The airlock's bolts prevent it from being forced!")
- else if( !welded && !operating)
+ else if(!welded && !operating)
if(!beingcrowbarred) //being fireaxe'd
var/obj/item/fireaxe/axe = I
if(!axe.wielded)
@@ -1073,6 +1073,8 @@
INVOKE_ASYNC(src, (density ? .proc/open : .proc/close), 2)
if(I.tool_behaviour == TOOL_CROWBAR)
+ if(!I.can_force_powered)
+ return
if(hasPower() && isElectrified())
shock(user,100)//it's like sticking a forck in a power socket
return
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index df64ca72a5..8a09bca0bf 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -116,6 +116,8 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb
var/buffer = null
var/show_wires = FALSE
var/datum/integrated_io/selected_io = null //functional for integrated circuits.
+ //Special crowbar
+ var/can_force_powered = FALSE
var/reach = 1 //In tiles, how far this weapon can reach; 1 for adjacent, which is default
diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm
index 36f89e57f2..f0fd29adbc 100644
--- a/code/game/objects/items/tools/crowbar.dm
+++ b/code/game/objects/items/tools/crowbar.dm
@@ -88,6 +88,7 @@
usesound = 'sound/items/jaws_pry.ogg'
force = 15
toolspeed = 0.25
+ can_force_powered = TRUE
/obj/item/crowbar/power/suicide_act(mob/user)
user.visible_message("[user] is putting [user.p_their()] head in [src], it looks like [user.p_theyre()] trying to commit suicide!")