diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountManager.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountManager.java index e32795f67b..b73d58d317 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountManager.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/AccountManager.java @@ -351,7 +351,9 @@ public class AccountManager { // this is why the best we can do here is to fail early and cleanup // the database db.accounts().delete(Collections.singleton(account)); - db.accountExternalIds().delete(Collections.singleton(extId)); + if (account.getId().equals(extId.getAccountId())) { + db.accountExternalIds().delete(Collections.singleton(extId)); + } throw new AccountUserNameException(errorMessage, e); } }