diff --git a/core/modules/tracker/tracker.pages.inc b/core/modules/tracker/tracker.pages.inc
index 85fa119..5181c49 100644
--- a/core/modules/tracker/tracker.pages.inc
+++ b/core/modules/tracker/tracker.pages.inc
@@ -45,26 +45,12 @@ function tracker_page($account = NULL) {
   if (!empty($tracker_data)) {
     $nids = array_keys($tracker_data);
     $nodes = node_load_multiple($nids);
-    // @todo This should be actually filtering on the desired language and just
-    //   fall back to the default language.
-    $result = db_query("
-    SELECT
-      n.nid,
-      SUM(l.comment_count) AS comment_count
-    FROM {node_field_data} n
-      INNER JOIN {comment_entity_statistics} l
-        ON n.nid = l.entity_id AND l.entity_type = 'node'
-      INNER JOIN {users} u
-        ON n.uid = u.uid
-    WHERE n.nid IN (:nids)
-      AND n.default_langcode = 1
-    GROUP BY n.nid
-    ORDER BY n.changed DESC", array(
-      ':nids' => array_keys($nodes)
-    ), array('target' => 'slave'))->fetchAllKeyed();
-    foreach ($result as $nid => $comment_count) {
-      $nodes[$nid]->last_activity = $tracker_data[$nid]->changed;
-      $nodes[$nid]->comment_count = $comment_count;
+
+    // Enrich the node data.
+    $statistics = \Drupal::service('comment.statistics')->read($nodes, 'node');
+    foreach ($tracker_data as $nid => $data) {
+      $nodes[$nid]->last_activity = $data->changed;
+      $nodes[$nid]->comment_count = isset($statistics[$nid]->comment_count) ? $statistics[$nid]->comment_count : 0;
     }
 
     // Display the data.
