diff --git a/p2p/client.go b/p2p/client.go
index 4f5714ef0..2e9c6eb57 100644
--- a/p2p/client.go
+++ b/p2p/client.go
@@ -602,6 +602,11 @@ func (c *Client) retrieveBlockSyncLoop(ctx context.Context, msgHandler BlockSync
 
 				c.logger.Debug("Blocksync block received ", "height", h)
 				msgHandler(&block)
+				state, err := c.store.LoadState()
+				if err != nil {
+					return
+				}
+				h = max(h, state.NextHeight()-1)
 			}
 			c.blocksReceived.RemoveBlocksReceivedUpToHeight(state.NextHeight())
 		}