diff --git a/eth/api_tracer.go b/eth/api_tracer.go
index aa4d74b7b2bb..a6daf7f4897d 100644
--- a/eth/api_tracer.go
+++ b/eth/api_tracer.go
@@ -121,6 +121,9 @@ func (api *PrivateDebugAPI) TraceChain(ctx context.Context, start, end rpc.Block
 	if to == nil {
 		return nil, fmt.Errorf("end block #%d not found", end)
 	}
+	if from.Number().Cmp(to.Number()) >= 0 {
+		return nil, fmt.Errorf("end block (#%d) needs to come after start block (#%d)", end, start)
+	}
 	return api.traceChain(ctx, from, to, config)
 }