diff --git a/turbo/stages/headerdownload/header_data_struct.go b/turbo/stages/headerdownload/header_data_struct.go
index 32c50597063b78fadbc9d5accf626f79e628e069..e075ba6b52a6f116eeef4893c466ae2e0b28773e 100644
--- a/turbo/stages/headerdownload/header_data_struct.go
+++ b/turbo/stages/headerdownload/header_data_struct.go
@@ -200,11 +200,12 @@ func NewHeaderDownload(
 	linkLimit int,
 	engine consensus.Engine,
 ) *HeaderDownload {
+	persistentLinkLimit := linkLimit / 16
 	hd := &HeaderDownload{
 		badHeaders:         make(map[common.Hash]struct{}),
 		anchors:            make(map[common.Hash]*Anchor),
-		persistedLinkLimit: linkLimit / 2,
-		linkLimit:          linkLimit / 2,
+		persistedLinkLimit: persistentLinkLimit,
+		linkLimit:          linkLimit - persistentLinkLimit,
 		anchorLimit:        anchorLimit,
 		engine:             engine,
 		preverifiedHashes:  make(map[common.Hash]struct{}),