diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm
index 2eca104f199..1a2a9243b84 100644
--- a/code/modules/assembly/signaler.dm
+++ b/code/modules/assembly/signaler.dm
@@ -39,9 +39,9 @@
user.visible_message("[user]'s [src] receives a signal, killing [user.p_them()] instantly!")
else
user.visible_message("[user]'s [src] receives a signal and [user.p_they()] die[user.p_s()] like a gamer!")
+ user.set_suicide(TRUE)
user.adjustOxyLoss(200)//it sends an electrical pulse to their heart, killing them. or something.
user.death(0)
- user.set_suicide(TRUE)
user.suicide_log()
playsound(user, 'sound/machines/triple_beep.ogg', ASSEMBLY_BEEP_VOLUME, TRUE)
qdel(src)
diff --git a/code/modules/client/verbs/suicide.dm b/code/modules/client/verbs/suicide.dm
index 65f1dbbc971..79882c81cb0 100644
--- a/code/modules/client/verbs/suicide.dm
+++ b/code/modules/client/verbs/suicide.dm
@@ -32,6 +32,9 @@
if(!canSuicide())
return
if(confirm == "Yes")
+ if(suiciding)
+ to_chat(src, "You're already trying to commit suicide!")
+ return
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)