diff --git a/models/user.go b/models/user.go
index 47f1d45f0..7838d2471 100644
--- a/models/user.go
+++ b/models/user.go
@@ -297,10 +297,12 @@ func ChangeUserName(user *User, newUserName string) (err error) {
 		}
 
 		for j := range accesses {
-			accesses[j].UserName = newUserName
-			accesses[j].RepoName = newUserName + "/" + repos[i].LowerName
-			if err = UpdateAccessWithSession(sess, &accesses[j]); err != nil {
-				return err
+			// if the access is not the user's access (already updated above)
+			if accesses[j].UserName != user.LowerName {
+				accesses[j].RepoName = newUserName + "/" + repos[i].LowerName
+				if err = UpdateAccessWithSession(sess, &accesses[j]); err != nil {
+					return err
+				}
 			}
 		}
 	}