diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm
index 6219fe7cfeb..c1aa16efc99 100644
--- a/code/game/objects/structures/displaycase.dm
+++ b/code/game/objects/structures/displaycase.dm
@@ -35,10 +35,19 @@
QDEL_NULL(showpiece)
return ..()
+/obj/structure/displaycase/emag_act(mob/user)
+ if(!emagged)
+ to_chat(user, "You override the ID lock on [src].")
+ trigger_alarm()
+
+ emagged = TRUE
+
/obj/structure/displaycase/examine(mob/user)
. = ..()
if(alert)
. += "Hooked up with an anti-theft system."
+ if(emagged)
+ . += "The ID lock has been shorted out."
if(showpiece)
. += "There's [showpiece] inside."
if(trophy_message)
@@ -100,7 +109,7 @@
/obj/structure/displaycase/attackby(obj/item/I, mob/user, params)
if(I.GetID() && !broken && openable)
- if(allowed(user))
+ if(allowed(user) || emagged)
to_chat(user, "You [open ? "close":"open"] [src].")
toggle_lock(user)
else