diff --git a/code/modules/events/_event.dm b/code/modules/events/_event.dm
index 63797444f4a..29945487944 100644
--- a/code/modules/events/_event.dm
+++ b/code/modules/events/_event.dm
@@ -72,8 +72,10 @@
return EVENT_INTERRUPTED
triggering = TRUE
- if (alert_observers)
- message_admins("Random Event triggering in [DisplayTimeText(RANDOM_EVENT_ADMIN_INTERVENTION_TIME)]: [name] (CANCEL)")
+
+ // We sleep HERE, in pre-event setup (because there's no sense doing it in runEvent() since the event is already running!) for the given amount of time to make an admin has enough time to cancel an event un-fitting of the present round.
+ if(alert_observers)
+ message_admins("Random Event triggering in [DisplayTimeText(RANDOM_EVENT_ADMIN_INTERVENTION_TIME)]: [name]. (CANCEL)")
sleep(RANDOM_EVENT_ADMIN_INTERVENTION_TIME)
var/players_amt = get_active_player_count(alive_check = TRUE, afk_check = TRUE, human_check = TRUE)
if(!can_spawn_event(players_amt))
@@ -121,10 +123,6 @@ Runs the event
testing("[time2text(world.time, "hh:mm:ss")] [E.type]")
triggering = TRUE
- if (alert_observers && !admin_forced)
- message_admins("Random Event triggering in [DisplayTimeText(RANDOM_EVENT_ADMIN_INTERVENTION_TIME)]: [name] (CANCEL).")
- sleep(RANDOM_EVENT_ADMIN_INTERVENTION_TIME)
-
if(!triggering)
RegisterSignal(SSdcs, COMSIG_GLOB_RANDOM_EVENT, .proc/stop_random_event)
E.cancel_event = TRUE