diff --git a/src/main/java/org/qortal/controller/Synchronizer.java b/src/main/java/org/qortal/controller/Synchronizer.java index 1f5b1c2a..1c4d6e0d 100644 --- a/src/main/java/org/qortal/controller/Synchronizer.java +++ b/src/main/java/org/qortal/controller/Synchronizer.java @@ -764,7 +764,11 @@ public class Synchronizer { LOGGER.info(String.format("Peer %s failed to respond with more block signatures after height %d, sig %.8s", peer, height, Base58.encode(latestPeerSignature))); - // We need to fully synchronize, so give up and move on to the next peer + // If we have already received blocks from this peer, go ahead and apply them + if (peerBlocks.size() > 0) { + break; + } + // Otherwise, give up and move on to the next peer return SynchronizationResult.NO_REPLY; } @@ -789,7 +793,11 @@ public class Synchronizer { if (retryCount >= MAXIMUM_RETRIES) { - // We need to fully synchronize, so give up and move on to the next peer + // If we have already received blocks from this peer, go ahead and apply them + if (peerBlocks.size() > 0) { + break; + } + // Otherwise, give up and move on to the next peer return SynchronizationResult.NO_REPLY; } else {