diff --git a/yogstation/code/game/objects/items/cards_ids.dm b/yogstation/code/game/objects/items/cards_ids.dm
index 10446752955d..b5ca6d76ec34 100644
--- a/yogstation/code/game/objects/items/cards_ids.dm
+++ b/yogstation/code/game/objects/items/cards_ids.dm
@@ -70,6 +70,13 @@
var/otherEmag = user.get_active_held_item()
if(!otherEmag)
return
+ if(prob(10))
+ to_chat(user, "By some ungodly miracle, the emag gains new functionality instead of being destroyed.")
+ playsound(src.loc, "sparks", 50, 1)
+ qdel(otherEmag)
+ color = rgb(40, 130, 255)
+ prox_check = FALSE
+ return
to_chat(user, "The cyptographic sequencers attempt to override each other before destroying themselves.")
playsound(src.loc, "sparks", 50, 1)
qdel(otherEmag)
@@ -82,4 +89,4 @@
/obj/item/card/id/gasclerk/New()
..()
- registered_account = new("Clerk", FALSE)
\ No newline at end of file
+ registered_account = new("Clerk", FALSE)