diff --git a/agent/health_endpoint.go b/agent/health_endpoint.go
index <HASH>..<HASH> 100644
--- a/agent/health_endpoint.go
+++ b/agent/health_endpoint.go
@@ -219,8 +219,8 @@ func (s *HTTPHandlers) healthServiceNodes(resp http.ResponseWriter, req *http.Re
 		return nil, nil
 	}
 
-	// TODO: handle this for all endpoints in parseConsistency
-	args.QueryOptions.UseCache = s.agent.config.HTTPUseCache && args.QueryOptions.UseCache
+	useStreaming := s.agent.config.CacheUseStreamingBackend && args.MinQueryIndex > 0
+	args.QueryOptions.UseCache = s.agent.config.HTTPUseCache && (args.QueryOptions.UseCache || useStreaming)
 
 	out, md, err := s.agent.rpcClientHealth.ServiceNodes(req.Context(), args)
 	if err != nil {
health: use streaming, even when cache=1 is not set