diff --git a/cli/src/stake.rs b/cli/src/stake.rs index afbfcfcb7da3d6..e70f5e0525f66e 100644 --- a/cli/src/stake.rs +++ b/cli/src/stake.rs @@ -1384,7 +1384,13 @@ pub fn process_stake_authorize( if let Some(authorized) = authorized { match authorization_type { StakeAuthorize::Staker => { - check_current_authority(&authorized.staker, &authority.pubkey())?; + // first check authorized withdrawer + check_current_authority(&authorized.withdrawer, &authority.pubkey()) + .or_else(|_| { + // ...then check authorized staker. If neither matches, error will + // print the stake key as `expected` + check_current_authority(&authorized.staker, &authority.pubkey()) + })?; } StakeAuthorize::Withdrawer => { check_current_authority(&authorized.withdrawer, &authority.pubkey())?;