diff --git a/go/cmd/vttablet/health.go b/go/cmd/vttablet/health.go
index <HASH>..<HASH> 100644
--- a/go/cmd/vttablet/health.go
+++ b/go/cmd/vttablet/health.go
@@ -19,14 +19,21 @@ var (
 // queryServiceRunning implements health.Reporter
 type queryServiceRunning struct{}
 
+// Report is part of the health.Reporter interface
 func (qsr *queryServiceRunning) Report(tabletType topo.TabletType, shouldQueryServiceBeRunning bool) (status map[string]string, err error) {
 	isQueryServiceRunning := tabletserver.SqlQueryRpcService.GetState() == "SERVING"
 	if shouldQueryServiceBeRunning != isQueryServiceRunning {
 		return nil, fmt.Errorf("QueryService running=%v, expected=%v", isQueryServiceRunning, shouldQueryServiceBeRunning)
 	}
+	if isQueryServiceRunning {
+		if err := tabletserver.IsHealthy(); err != nil {
+			return nil, fmt.Errorf("QueryService is running, but not healthy: %v", err)
+		}
+	}
 	return nil, nil
 }
 
+// HTMLName is part of the health.Reporter interface
 func (qsr *queryServiceRunning) HTMLName() template.HTML {
 	return template.HTML("QueryServiceRunning")
 }
Now checking tabletserver.IsHealthy in health check.