diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm
index c32a35c5b89..866a51ea5f4 100644
--- a/code/game/objects/items/bodybag.dm
+++ b/code/game/objects/items/bodybag.dm
@@ -36,27 +36,36 @@
icon = 'icons/obj/bodybag.dmi'
icon_state = "bodybag"
var/foldedbag_path = /obj/item/bodybag
+ var/tagged = 0 // so closet code knows to put the tag overlay back
density = 0
mob_storage_capacity = 2
/obj/structure/closet/body_bag/attackby(obj/item/I, mob/user, params)
- if (istype(I, /obj/item/weapon/pen))
+ if (istype(I, /obj/item/weapon/pen) || istype(I, /obj/item/toy/crayon))
var/t = stripped_input(user, "What would you like the label to be?", name, null, 53)
if(user.get_active_hand() != I)
return
if(!in_range(src, user) && loc != user)
return
if(t)
- name = "body bag - "
- name += t
- overlays += "bodybag_label"
+ name = "body bag - [t]"
+ tagged = 1
+ update_icon()
else
name = "body bag"
return
else if(istype(I, /obj/item/weapon/wirecutters))
- user << "You cut the tag off of [src]."
+ user << "You cut the tag off [src]."
name = "body bag"
+ tagged = 0
+ update_icon()
+
+/obj/structure/closet/body_bag/update_icon()
+ ..()
+ if (tagged)
+ overlays += "bodybag_label"
+ else
overlays.Cut()
diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm
index e41fac7870f..bb209cb9515 100644
--- a/code/game/objects/structures/crates_lockers/closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets.dm
@@ -46,6 +46,7 @@
overlays += "unlocked"
else
overlays += "off"
+
else
if(icon_door_override)
overlays += "[icon_door]_open"