diff --git a/code/datums/mind.dm b/code/datums/mind.dm
index fcf1ded97cc..619bc5c6045 100644
--- a/code/datums/mind.dm
+++ b/code/datums/mind.dm
@@ -54,6 +54,7 @@
var/has_been_rev = 0//Tracks if this mind has been a rev or not
var/miming = 0 // Mime's vow of silence
+ var/speech_span // What span any body this mind has talks in.
var/datum/faction/faction //associated faction
var/datum/changeling/changeling //changeling holder
var/datum/vampire/vampire //vampire holder
@@ -1324,7 +1325,7 @@
var/explanation = "Summon [ticker.mode.cultdat.entity_name] via the use of the appropriate rune. It will only work if nine cultists stand on and around it."
to_chat(current, "Objective #1: [explanation]")
current.memory += "Objective #1: [explanation]
"
-
+
var/mob/living/carbon/human/H = current
if(istype(H))
diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm
index 3f86110346d..20cdd45d20a 100644
--- a/code/modules/client/preference/preferences.dm
+++ b/code/modules/client/preference/preferences.dm
@@ -2022,6 +2022,11 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
ShowChoices(user)
return 1
+/datum/preferences/proc/copy_to_mind(datum/mind/M)
+ if(species == "Grey")
+ if(speciesprefs)
+ M.speech_span = "wingdings"
+
/datum/preferences/proc/copy_to(mob/living/carbon/human/character)
var/datum/species/S = all_species[species]
character.change_species(species) // Yell at me if this causes everything to melt
@@ -2038,9 +2043,6 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
character.add_language(language)
- if(species == "Grey")
- if(speciesprefs)
- character.speech_span = "wingdings"
character.real_name = real_name
character.dna.real_name = real_name
diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm
index 1216c3bda1b..0d30c5c8265 100644
--- a/code/modules/mob/living/carbon/human/human_defines.dm
+++ b/code/modules/mob/living/carbon/human/human_defines.dm
@@ -43,7 +43,6 @@ var/global/default_martial_art = new/datum/martial_art
var/icon/lying_icon = null
var/voice = "" //Instead of new say code calling GetVoice() over and over and over, we're just going to ask this variable, which gets updated in Life()
- var/speech_span
var/speech_problem_flag = 0
diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm
index f066a2e6b9d..cac5ec6952c 100644
--- a/code/modules/mob/living/carbon/human/say.dm
+++ b/code/modules/mob/living/carbon/human/say.dm
@@ -105,7 +105,7 @@
/mob/living/carbon/human/handle_speech_problems(var/message, var/verb)
var/list/returns[3]
var/speech_problem_flag = 0
- var/span = speech_span
+ var/span = mind.speech_span
if(silent || (disabilities & MUTE))
message = ""
diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm
index bccd7990de9..d18bad69475 100644
--- a/code/modules/mob/new_player/new_player.dm
+++ b/code/modules/mob/new_player/new_player.dm
@@ -506,6 +506,7 @@
new_character.real_name = pick(diona_names) //I hate this being here of all places but unfortunately dna is based on real_name!
new_character.rename_self("diona")
mind.original = new_character
+ client.prefs.copy_to_mind(mind)
mind.transfer_to(new_character) //won't transfer key since the mind is not active