diff --git a/app/models/discourse_single_sign_on.rb b/app/models/discourse_single_sign_on.rb
index b4582172c..4db846f93 100644
--- a/app/models/discourse_single_sign_on.rb
+++ b/app/models/discourse_single_sign_on.rb
@@ -88,7 +88,7 @@ class DiscourseSingleSignOn < SingleSignOn
 
     user_params = {
       email: email,
-      name:  User.suggest_name(try_name || try_username || email),
+      name:  try_name || User.suggest_name(try_username || email),
       username: UserNameSuggester.suggest(try_username || try_name || email),
       ip_address: ip_address
     }
@@ -120,7 +120,7 @@ class DiscourseSingleSignOn < SingleSignOn
     end
 
     if SiteSetting.sso_overrides_name && user.name != name
-      user.name = User.suggest_name(name || username || email)
+      user.name = name || User.suggest_name(username || email)
     end
 
     if SiteSetting.sso_overrides_avatar && avatar_url.present? && (
diff --git a/spec/models/discourse_single_sign_on_spec.rb b/spec/models/discourse_single_sign_on_spec.rb
index 62a10d0ae..d102e291c 100644
--- a/spec/models/discourse_single_sign_on_spec.rb
+++ b/spec/models/discourse_single_sign_on_spec.rb
@@ -85,12 +85,15 @@ describe DiscourseSingleSignOn do
 
     sso.email = "TEST@bob.com"
 
+    sso.name = "Louis C.K."
+
     sso.lookup_or_create_user(ip_address)
 
     admin.reload
 
     expect(admin.email).to eq("test@bob.com")
     expect(admin.username).to eq "bob_the_admin"
+    expect(admin.name).to eq "Louis C.K."
   end
 
   it "can fill in data on way back" do