diff --git a/core/src/main/java/org/bitcoinj/wallet/KeyChainGroup.java b/core/src/main/java/org/bitcoinj/wallet/KeyChainGroup.java index e4e757cd..2d8afea8 100644 --- a/core/src/main/java/org/bitcoinj/wallet/KeyChainGroup.java +++ b/core/src/main/java/org/bitcoinj/wallet/KeyChainGroup.java @@ -671,15 +671,17 @@ public class KeyChainGroup implements KeyBag { // This code must be exception safe. BasicKeyChain newBasic = basic.toEncrypted(keyCrypter, aesKey); - this.basic = newBasic; List newChains = new ArrayList<>(); if (chains != null) { for (DeterministicKeyChain chain : chains) newChains.add(chain.toEncrypted(keyCrypter, aesKey)); + } + this.keyCrypter = keyCrypter; + this.basic = newBasic; + if (chains != null) { this.chains.clear(); this.chains.addAll(newChains); } - this.keyCrypter = keyCrypter; } /**