diff --git a/eth/downloader/downloader.go b/eth/downloader/downloader.go
index 83b757fa17ccec6db9a1e251e76ada71a3df98d8..f3b0926d77b2910511f9723c6ccf0c4954b47924 100644
--- a/eth/downloader/downloader.go
+++ b/eth/downloader/downloader.go
@@ -1502,6 +1502,8 @@ func (d *Downloader) processHeaders(origin uint64, pivot uint64, td *big.Int) er
 					head := chunk[len(chunk)-1].Number.Uint64()
 					if head-rollback > uint64(fsHeaderSafetyNet) {
 						rollback = head - uint64(fsHeaderSafetyNet)
+					} else {
+						rollback = 1
 					}
 				}
 				// Unless we're doing light chains, schedule the headers for associated content retrieval