diff --git a/code/modules/client/verbs/suicide.dm b/code/modules/client/verbs/suicide.dm
index a8dfa31b9bf..e08e9c0e483 100644
--- a/code/modules/client/verbs/suicide.dm
+++ b/code/modules/client/verbs/suicide.dm
@@ -39,19 +39,21 @@
if(!canSuicide())
return
if(confirm == "Yes")
+ set_suicide(TRUE) //need to be called before calling suicide_act as fuck knows what suicide_act will do with your suicider
var/obj/item/held_item = get_active_held_item()
if(held_item)
var/damagetype = held_item.suicide_act(src)
if(damagetype)
if(damagetype & SHAME)
adjustStaminaLoss(200)
+ set_suicide(FALSE)
SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "shameful_suicide", /datum/mood_event/shameful_suicide)
return
if(damagetype & MANUAL_SUICIDE_NONLETHAL) //Make sure to call the necessary procs if it does kill later
+ set_suicide(FALSE)
return
- set_suicide(TRUE)
suicide_log()
var/damage_mod = 0
@@ -105,7 +107,6 @@
visible_message("[suicide_message]", "[suicide_message]")
- set_suicide(TRUE)
suicide_log()
adjustOxyLoss(max(200 - getToxLoss() - getFireLoss() - getBruteLoss() - getOxyLoss(), 0))