diff --git a/eth/stagedsync/stage_headers.go b/eth/stagedsync/stage_headers.go
index 7f260a9f03bbd159e6ea7dab86c34c3bb2c8734a..df5927a17d1f836d1f4419ec34cbf2a6a1c9fa72 100644
--- a/eth/stagedsync/stage_headers.go
+++ b/eth/stagedsync/stage_headers.go
@@ -418,22 +418,6 @@ func handleNewPayload(
 		return err
 	}
 
-	isCanonicalHeader, err := rawdb.IsCanonicalHash(tx, headerHash)
-	if err != nil {
-		return err
-	}
-
-	// If we already processed this block as canonical we return VALID and skip it.
-	if isCanonicalHeader {
-		if requestStatus == engineapi.New {
-			cfg.hd.PayloadStatusCh <- privateapi.PayloadStatus{
-				Status:          remote.EngineStatus_VALID,
-				LatestValidHash: rawdb.ReadHeadBlockHash(tx),
-			}
-		}
-		return nil
-	}
-
 	if existingCanonicalHash != (common.Hash{}) && headerHash == existingCanonicalHash {
 		log.Info(fmt.Sprintf("[%s] New payload: previously received valid header", s.LogPrefix()))
 		cfg.hd.BeaconRequestList.Remove(requestId)