diff --git a/code/modules/client/client_defines.dm b/code/modules/client/client_defines.dm
index 7d87a82afb..0402dc683f 100644
--- a/code/modules/client/client_defines.dm
+++ b/code/modules/client/client_defines.dm
@@ -133,3 +133,6 @@
var/parallax_movedir = 0
var/parallax_layers_max = 3
var/parallax_animate_timer
+
+ //world.time of when the crew manifest can be accessed
+ var/crew_manifest_delay
diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm
index f7e1f24b63..36babd9b95 100644
--- a/code/modules/mob/dead/new_player/new_player.dm
+++ b/code/modules/mob/dead/new_player/new_player.dm
@@ -176,9 +176,6 @@
SSticker.queue_delay = 4
qdel(src)
- if(!ready && href_list["preference"])
- if(client)
- client.prefs.process_link(src, href_list)
else if(!href_list["late_join"])
new_player_panel()
@@ -582,6 +579,12 @@
qdel(src)
/mob/dead/new_player/proc/ViewManifest()
+ if(!client)
+ return
+ if(world.time < client.crew_manifest_delay)
+ return
+ client.crew_manifest_delay = world.time + (1 SECONDS)
+
var/dat = "
"
dat += "Crew Manifest
"
dat += GLOB.data_core.get_manifest(OOC = 1)
diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm
index 5364486b04..397af1b9d0 100644
--- a/code/modules/mob/dead/observer/observer.dm
+++ b/code/modules/mob/dead/observer/observer.dm
@@ -717,6 +717,12 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
set name = "View Crew Manifest"
set category = "Ghost"
+ if(!client)
+ return
+ if(world.time < client.crew_manifest_delay)
+ return
+ client.crew_manifest_delay = world.time + (1 SECONDS)
+
var/dat
dat += "Crew Manifest
"
dat += GLOB.data_core.get_manifest()
diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm
index 173db6f69b..7a9610fb53 100644
--- a/code/modules/mob/living/silicon/silicon.dm
+++ b/code/modules/mob/living/silicon/silicon.dm
@@ -396,6 +396,12 @@
return aicamera.selectpicture(user)
/mob/living/silicon/proc/ai_roster()
+ if(!client)
+ return
+ if(world.time < client.crew_manifest_delay)
+ return
+ client.crew_manifest_delay = world.time + (1 SECONDS)
+
var/dat = "Crew RosterCrew Roster:
"
dat += GLOB.data_core.get_manifest()