diff --git a/code/controllers/subsystems/ticker.dm b/code/controllers/subsystems/ticker.dm
index 77aef83de66..f510921ff21 100644
--- a/code/controllers/subsystems/ticker.dm
+++ b/code/controllers/subsystems/ticker.dm
@@ -465,18 +465,7 @@ var/datum/controller/subsystem/ticker/SSticker
round_start_time = world.time
callHook("roundstart")
-
- spawn(0)//Forking here so we dont have to wait for this to finish
- mode.post_setup()
- //Cleanup some stuff
- for(var/obj/effect/landmark/start/S in landmarks_list)
- //Deleting Startpoints but we need the ai point to AI-ize people later
- if (S.name != "AI")
- qdel(S)
- to_world("Enjoy the game!")
- sound_to(world, sound('sound/AI/welcome.ogg'))
- //Holiday Round-start stuff ~Carn
- Holiday_Game_Start()
+ INVOKE_ASYNC(src, .proc/roundstart)
log_debug("SSticker: Running [LAZYLEN(roundstart_callbacks)] round-start callbacks.")
run_callback_list(roundstart_callbacks)
@@ -486,6 +475,24 @@ var/datum/controller/subsystem/ticker/SSticker
return SETUP_OK
+/datum/controller/subsystem/ticker/proc/roundstart()
+ mode.post_setup()
+ //Cleanup some stuff
+ for(var/obj/effect/landmark/start/S in landmarks_list)
+ //Deleting Startpoints but we need the ai point to AI-ize people later
+ if (S.name != "AI")
+ qdel(S)
+ // update join icon for lobbysitters
+ for(var/mob/abstract/new_player/NP in player_list)
+ if(!NP.client)
+ continue
+ var/obj/screen/new_player/selection/join_game/JG = locate() in NP.client.screen
+ JG.update_icon(NP)
+ to_world("Enjoy the game!")
+ sound_to(world, sound('sound/AI/welcome.ogg'))
+ //Holiday Round-start stuff ~Carn
+ Holiday_Game_Start()
+
/datum/controller/subsystem/ticker/proc/run_callback_list(list/callbacklist)
set waitfor = FALSE
diff --git a/html/changelogs/geeves-useless_join.yml b/html/changelogs/geeves-useless_join.yml
new file mode 100644
index 00000000000..1c3f52eac26
--- /dev/null
+++ b/html/changelogs/geeves-useless_join.yml
@@ -0,0 +1,6 @@
+author: Geeves
+
+delete-after: True
+
+changes:
+ - bugfix: "Lobbysitter HUDs now properly update the Ready/Join button when the round starts."
\ No newline at end of file