diff --git a/store/src/java/com/zimbra/cs/service/account/ChangePassword.java b/store/src/java/com/zimbra/cs/service/account/ChangePassword.java index 90831d16a7..50b33d198c 100644 --- a/store/src/java/com/zimbra/cs/service/account/ChangePassword.java +++ b/store/src/java/com/zimbra/cs/service/account/ChangePassword.java @@ -98,7 +98,10 @@ public Element handle(Element request, Map context) throws Servi throw ServiceException.PERM_DENIED("cannot access account"); } - acct = AuthProvider.validateAuthToken(prov, at, false, usage); + Account authTokenAcct = AuthProvider.validateAuthToken(prov, at, false, usage); + if (!AuthToken.isAnyAdmin(at)) { + acct = authTokenAcct; + } if (acct == null) { throw AuthFailedServiceException.AUTH_FAILED(name, namePassedIn, "account not found"); }