diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm
index 09598f08ec..4e24a8e270 100644
--- a/code/controllers/subsystem/ticker.dm
+++ b/code/controllers/subsystem/ticker.dm
@@ -159,7 +159,7 @@ var/datum/subsystem/ticker/ticker
if(!can_continue)
qdel(mode)
mode = null
- world << "Error setting up [master_mode]. Reverting to pre-game lobby."
+ world << "Error setting up [master_mode]. It's likely that there are no available antagonists for the selected mode. Reverting to pre-game lobby."
SSjob.ResetOccupations()
return 0
else
diff --git a/code/controllers/subsystem/voting.dm b/code/controllers/subsystem/voting.dm
index a663f44bd8..94ce788774 100644
--- a/code/controllers/subsystem/voting.dm
+++ b/code/controllers/subsystem/voting.dm
@@ -122,12 +122,12 @@ var/datum/subsystem/vote/SSvote
else
master_mode = .
if("roundtype")
- if (ticker && ticker.mode)
- return message_admins("A vote has tried to change the gamemode, but the game has already started. Aborting.")
- master_mode = .
- log_admin("Mode has been voted for and switched to: [master_mode].")
- world << "The mode is now: [master_mode]"
- world.save_mode(master_mode)
+ if(ticker && ticker.mode)
+ message_admins("A vote has tried to change the gamemode, but the game has already started. Aborting.")
+ else if(master_mode != .)
+ world.save_mode(.)
+ master_mode = .
+ world << "The mode is now: [master_mode]"
if(restart)
var/active_admins = 0
for(var/client/C in admins)