diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm
index b3c3aacad02..1f03e634a8c 100644
--- a/code/game/gamemodes/cult/runes.dm
+++ b/code/game/gamemodes/cult/runes.dm
@@ -948,11 +948,7 @@ structure_check() searches for nearby cultist structures required for the invoca
V.Grant(ghost)
//GM.Grant(ghost)
while(!QDELETED(user))
- if(!(user in T))
- user.visible_message("A spectral tendril wraps around [user] and pulls [user.p_them()] back to the rune!")
- Beam(user, icon_state = "drainbeam", time = 2)
- user.forceMove(get_turf(src)) //NO ESCAPE :^)
- if(user.key)
+ if(user.key || QDELETED(src))
user.visible_message("[user] slowly relaxes, the glow around [user.p_them()] dimming.",
"You are re-united with your physical form. [src] releases its hold over you.")
user.Weaken(3)
@@ -960,12 +956,16 @@ structure_check() searches for nearby cultist structures required for the invoca
if(user.health <= 10)
to_chat(ghost, "Your body can no longer sustain the connection!")
break
+ if(!(user in T))
+ user.visible_message("A spectral tendril wraps around [user] and pulls [user.p_them()] back to the rune!")
+ Beam(user, icon_state = "drainbeam", time = 2)
+ user.forceMove(get_turf(src)) //NO ESCAPE :^)
sleep(5)
- CM.Remove(ghost)
- V.Remove(ghost)
- //GM.Remove(ghost)
+ if(user.grab_ghost())
+ CM.Remove(ghost)
+ V.Remove(ghost)
+ //GM.Remove(ghost)
user.remove_atom_colour(ADMIN_COLOUR_PRIORITY, RUNE_COLOR_DARKRED)
- user.grab_ghost()
user = null
rune_in_use = FALSE