diff --git a/core/src/main/java/org/bitcoinj/core/PeerGroup.java b/core/src/main/java/org/bitcoinj/core/PeerGroup.java index ce2e6bd6..ad567cd5 100644 --- a/core/src/main/java/org/bitcoinj/core/PeerGroup.java +++ b/core/src/main/java/org/bitcoinj/core/PeerGroup.java @@ -1515,11 +1515,14 @@ public class PeerGroup implements TransactionBroadcaster { for (Wallet wallet : wallets) peer.addWallet(wallet); if (downloadPeer == null) { - // Kick off chain download if we aren't already doing it. - setDownloadPeer(selectDownloadPeer(peers)); - boolean shouldDownloadChain = downloadListener != null && chain != null; - if (shouldDownloadChain) { - startBlockChainDownloadFromPeer(downloadPeer); + Peer newDownloadPeer = selectDownloadPeer(peers); + if (newDownloadPeer != null) { + setDownloadPeer(newDownloadPeer); + // Kick off chain download if we aren't already doing it. + boolean shouldDownloadChain = downloadListener != null && chain != null; + if (shouldDownloadChain) { + startBlockChainDownloadFromPeer(downloadPeer); + } } } // Make sure the peer knows how to upload transactions that are requested from us.