diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/securitytoken/SecurityTokenConnection.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/securitytoken/SecurityTokenConnection.java index 3553cc603..3911e0944 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/securitytoken/SecurityTokenConnection.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/securitytoken/SecurityTokenConnection.java @@ -830,8 +830,8 @@ public class SecurityTokenConnection { CommandApdu chainedApdu = chainedApdus.get(i); lastResponse = mTransport.transceive(chainedApdu); - boolean isLastCommand = i < totalCommands - 1; - if (isLastCommand && !lastResponse.isSuccess()) { + boolean isLastCommand = (i == totalCommands - 1); + if (!isLastCommand && !lastResponse.isSuccess()) { throw new UsbTransportException("Failed to chain apdu (last SW: " + lastResponse.getSw() + ")"); } }