diff --git a/migrations/call_trace_index.go b/migrations/call_trace_index.go
index bad3177df6ba4c6340490391ce11d0860c4d0c44..1a45e922298ab7809589397b25e985620a4bace9 100644
--- a/migrations/call_trace_index.go
+++ b/migrations/call_trace_index.go
@@ -19,7 +19,7 @@ var rebuilCallTraceIndex = Migration{
 		}
 		if !sm.CallTraces {
 			// Call traces are not on, nothing to migrate
-			return nil
+			return CommitProgress(db, nil, true)
 		}
 		// Find the lowest key in the TraceCallSet table
 		tx := db.(ethdb.HasTx).Tx()
@@ -35,12 +35,12 @@ var rebuilCallTraceIndex = Migration{
 		}
 		if k == nil {
 			log.Warn("Nothing to rebuild, CallTraceSet table is empty")
-			return nil
+			return CommitProgress(db, nil, true)
 		}
 		blockNum := binary.BigEndian.Uint64((k))
 		if blockNum == 0 {
 			log.Warn("Nothing to rebuild, CallTraceSet's first record", "number", blockNum)
-			return nil
+			return CommitProgress(db, nil, true)
 		}
 		log.Info("First record in CallTraceTable", "number", blockNum)
 		if err = stages.SaveStageUnwind(db, stages.CallTraces, blockNum-1); err != nil {