diff --git a/models/login_source.go b/models/login_source.go
index 03e6d6a3a..9da9ff943 100644
--- a/models/login_source.go
+++ b/models/login_source.go
@@ -327,6 +327,16 @@ func LoginViaLDAP(user *User, login, password string, source *LoginSource, autoR
 		IsActive:    true,
 		IsAdmin:     isAdmin,
 	}
+	
+	ok, err := IsUserExist(0, user.Name)
+	if err != nil {
+		return user, err
+	}
+	
+	if ok {
+		return user, UpdateUser(user)
+	}
+	
 	return user, CreateUser(user)
 }