diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm
index 237f37897dd..db4ba936b6c 100644
--- a/code/modules/mining/lavaland/necropolis_chests.dm
+++ b/code/modules/mining/lavaland/necropolis_chests.dm
@@ -376,33 +376,42 @@
addtimer(CALLBACK(src, PROC_REF(try_attach_to_owner)), 0) // Do this once the drop call stack is done. The holding limb might be getting removed
/obj/item/rod_of_asclepius/proc/try_attach_to_owner()
- if(ishuman(owner) && !QDELETED(owner))
- if(ishuman(loc))
- var/mob/living/carbon/human/thief = loc
- thief.drop_item_to_ground(src, force = TRUE, silent = TRUE) // You're not my owner!
- if(owner.stat == DEAD)
- qdel(src) // Oh no! Oh well a new rod will be made from the STATUS_EFFECT_HIPPOCRATIC_OATH
- return
- flags |= NODROP // Readd the nodrop
- var/mob/living/carbon/human/H = owner
- var/limb_regrown = FALSE
- if(usedHand == LEFT_HAND)
- limb_regrown = H.regrow_external_limb_if_missing("l_arm")
- limb_regrown = H.regrow_external_limb_if_missing("l_hand") || limb_regrown
- H.drop_l_hand(TRUE)
- H.put_in_l_hand(src, TRUE)
- else
- limb_regrown = H.regrow_external_limb_if_missing("r_arm")
- limb_regrown = H.regrow_external_limb_if_missing("r_hand") || limb_regrown
- H.drop_r_hand(TRUE)
- H.put_in_r_hand(src, TRUE)
- if(!limb_regrown)
- to_chat(H, "The Rod of Asclepius suddenly grows back out of your arm!")
- else
- H.update_body() // Update the limb sprites
- to_chat(H, "Your arm suddenly grows back with the Rod of Asclepius still attached!")
- else
+ if(!ishuman(owner) || QDELETED(owner))
deactivate()
+ return
+
+ var/mob/living/carbon/human/thief = loc
+
+ if(thief == owner) // stealing from yourself, huh?
+ return
+
+ if(ishuman(thief))
+ thief.drop_item_to_ground(src, force = TRUE, silent = TRUE) // You're not my owner!
+
+ if(owner.stat == DEAD)
+ qdel(src) // Oh no! Oh well a new rod will be made from the STATUS_EFFECT_HIPPOCRATIC_OATH
+ return
+
+ flags |= NODROP // Readd the nodrop
+ var/mob/living/carbon/human/H = owner
+ var/limb_regrown = FALSE
+
+ if(usedHand == LEFT_HAND)
+ limb_regrown = H.regrow_external_limb_if_missing("l_arm")
+ limb_regrown = H.regrow_external_limb_if_missing("l_hand") || limb_regrown
+ H.drop_l_hand(TRUE)
+ H.put_in_l_hand(src, TRUE)
+ else
+ limb_regrown = H.regrow_external_limb_if_missing("r_arm")
+ limb_regrown = H.regrow_external_limb_if_missing("r_hand") || limb_regrown
+ H.drop_r_hand(TRUE)
+ H.put_in_r_hand(src, TRUE)
+
+ if(!limb_regrown)
+ to_chat(H, "The Rod of Asclepius suddenly grows back out of your arm!")
+ else
+ H.update_body() // Update the limb sprites
+ to_chat(H, "Your arm suddenly grows back with the Rod of Asclepius still attached!")
/obj/item/rod_of_asclepius/proc/activated(mob/living/carbon/new_owner)
owner = new_owner