diff --git a/code/game/objects/structures/artstuff.dm b/code/game/objects/structures/artstuff.dm
index 28537865bff..f465a7f03dc 100644
--- a/code/game/objects/structures/artstuff.dm
+++ b/code/game/objects/structures/artstuff.dm
@@ -345,6 +345,7 @@
///Description set when canvas is added.
var/desc_with_canvas
var/persistence_id
+ var/loaded = FALSE
//Presets for art gallery mapping, for paintings to be shared across stations
/obj/structure/sign/painting/public
@@ -402,10 +403,18 @@
. = ..()
if(persistence_id)
. += "Any painting placed here will be archived at the end of the shift."
+
if(current_canvas)
current_canvas.tgui_interact(user)
. += "Use wirecutters to remove the painting."
+ // Painting loaded and persistent frame, give a hint about removal safety
+ if(persistence_id)
+ if(loaded)
+ . += "Don't worry, the currently framed painting has already been entered into the archives and can be safely removed. It will still be used on future shifts."
+ else
+ . += "This painting has not been entered into the archives yet. Removing it will prevent that from happening."
+
/obj/structure/sign/painting/proc/frame_canvas(mob/user,obj/item/canvas/new_canvas)
if(!allowed(user))
to_chat(user, "You're not comfortable framing this canvas in such a prestigious spot!")
@@ -424,6 +433,7 @@
if(current_canvas)
current_canvas.forceMove(drop_location())
current_canvas = null
+ loaded = FALSE
to_chat(user, "You remove the painting from the frame.")
update_appearance()
@@ -505,6 +515,7 @@
new_canvas.author_ckey = author_ckey
new_canvas.name = "painting - [title]"
current_canvas = new_canvas
+ loaded = TRUE
update_appearance()
/obj/structure/sign/painting/proc/save_persistent()
@@ -561,4 +572,5 @@
if(P.current_canvas && md5(P.current_canvas.get_data_string()) == md5)
QDEL_NULL(P.current_canvas)
P.update_appearance()
+ loaded = FALSE
log_and_message_admins("[key_name_admin(user)] has deleted persistent painting made by [author].")
\ No newline at end of file