diff --git a/connector/oidc/oidc.go b/connector/oidc/oidc.go
index 4ec86a05a91798c1bab61d84e89836410df5ec09..c81728119d38ec9f6fccf195bca79f7115ae0c40 100644
--- a/connector/oidc/oidc.go
+++ b/connector/oidc/oidc.go
@@ -301,10 +301,10 @@ func (c *oidcConnector) createIdentity(ctx context.Context, identity connector.I
 	}
 	hostedDomain, _ := claims["hd"].(string)
 
-	if c.preferredUsernameKey == "" {
-		c.preferredUsernameKey = "preferred_username"
+	preferredUsername, found := claims["preferred_username"].(string)
+	if !found {
+		preferredUsername, _ = claims[c.preferredUsernameKey].(string)
 	}
-	preferredUsername, _ := claims[c.preferredUsernameKey].(string)
 
 	if len(c.hostedDomains) > 0 {
 		found := false