diff --git a/code/modules/mining/equipment_locker.dm b/code/modules/mining/equipment_locker.dm
index f5176827095..d6c375c2832 100644
--- a/code/modules/mining/equipment_locker.dm
+++ b/code/modules/mining/equipment_locker.dm
@@ -112,6 +112,8 @@
return
if(panel_open)
if(istype(W, /obj/item/weapon/crowbar))
+ if(inserted_id)
+ inserted_id.forceMove(loc) //Prevents deconstructing the ORM from deleting whatever ID was inside it.
empty_content()
default_deconstruction_crowbar(W)
if(ismultitool(W))
@@ -304,6 +306,9 @@
/obj/machinery/mineral/ore_redemption/power_change()
..()
update_icon()
+ if(inserted_id && !powered())
+ visible_message("The ID slot indicator light flickers on \the [src] as it spits out a card before powering down.")
+ inserted_id.forceMove(loc)
/obj/machinery/mineral/ore_redemption/update_icon()
if(powered())
@@ -387,6 +392,9 @@
/obj/machinery/mineral/equipment_vendor/power_change()
..()
update_icon()
+ if(inserted_id && !powered())
+ visible_message("The ID slot indicator light flickers on \the [src] as it spits out a card before powering down.")
+ inserted_id.forceMove(loc)
/obj/machinery/mineral/equipment_vendor/update_icon()
if(powered())
@@ -456,6 +464,8 @@
return
if(panel_open)
if(istype(I, /obj/item/weapon/crowbar))
+ if(inserted_id)
+ inserted_id.forceMove(loc) //Prevents deconstructing the ORM from deleting whatever ID was inside it.
default_deconstruction_crowbar(I)
return 1
if(istype(I, /obj/item/weapon/mining_voucher))