diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index 9a14b8fbff..ab89dccd5d 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -943,11 +943,13 @@ datum/preferences
if("input")
switch(href_list["preference"])
if("name")
- var/new_name = reject_bad_name( input(user, "Choose your character's name:", "Character Preference") as text|null )
- if(new_name)
- real_name = new_name
- else
- user << "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and ."
+ var/raw_name = input(user, "Choose your character's name:", "Character Preference") as text|null
+ if (raw_name) // Check to ensure that the user entered text (rather than cancel.)
+ var/new_name = reject_bad_name(raw_name)
+ if(new_name)
+ real_name = new_name
+ else
+ user << "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and ."
if("age")
var/new_age = input(user, "Choose your character's age:\n([AGE_MIN]-[AGE_MAX])", "Character Preference") as num|null