diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm
index 4941ce6b0eb..154aea5418b 100644
--- a/code/modules/mining/lavaland/necropolis_chests.dm
+++ b/code/modules/mining/lavaland/necropolis_chests.dm
@@ -732,6 +732,10 @@
user << "[choice] is already dead!"
used = FALSE
return
+ if(choice == user)
+ user << "You feel like writing your own name into a cursed death warrant would be unwise."
+ used = FALSE
+ return
else
var/mob/living/L = choice
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm
index 29e0dfcbabd..1a8e8a44c7a 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm
@@ -97,7 +97,8 @@
visible_message(
"[src] devours [L]!",
"You feast on [L], restoring your health!")
- adjustBruteLoss(-L.maxHealth/2)
+ if(z != ZLEVEL_STATION && !client) //NPC monsters won't heal while on station
+ adjustBruteLoss(-L.maxHealth/2)
L.gib()
/mob/living/simple_animal/hostile/megafauna/ex_act(severity, target)