diff --git a/core/modules/comment/src/Plugin/views/field/NodeNewComments.php b/core/modules/comment/src/Plugin/views/field/NodeNewComments.php
index 2555b7be88..e541ab9b5d 100644
--- a/core/modules/comment/src/Plugin/views/field/NodeNewComments.php
+++ b/core/modules/comment/src/Plugin/views/field/NodeNewComments.php
@@ -155,9 +155,17 @@ public function preRender(&$values) {
     }
 
     if ($nids) {
-      $result = $this->database->query("SELECT n.nid, COUNT(c.cid) as num_comments FROM {node} n INNER JOIN {comment_field_data} c ON n.nid = c.entity_id AND c.entity_type = 'node' AND c.default_langcode = 1
-        LEFT JOIN {history} h ON h.nid = n.nid AND h.uid = :h_uid WHERE n.nid IN ( :nids[] )
-        AND c.changed > GREATEST(COALESCE(h.timestamp, :timestamp1), :timestamp2) AND c.status = :status GROUP BY n.nid", [
+      $sql = <<<SQL
+      SELECT n.nid, COUNT(c.cid) as num_comments
+      FROM {node} n
+        INNER JOIN {comment_field_data} c ON n.nid = c.entity_id AND c.entity_type = 'node' AND c.default_langcode = 1
+        LEFT JOIN {history} h ON h.nid = n.nid AND h.uid = :h_uid
+      WHERE n.nid IN ( :nids[] )
+        AND c.changed > GREATEST(COALESCE(h.timestamp, :timestamp1), :timestamp2) AND c.status = :status
+      GROUP BY n.nid
+      SQL;
+
+      $result = $this->database->query($sql, [
         ':status' => CommentInterface::PUBLISHED,
         ':h_uid' => $user->id(),
         ':nids[]' => $nids,
diff --git a/core/modules/tracker/tracker.info.yml b/core/modules/tracker/tracker.info.yml
index 4f1718f09f..e945b6de05 100644
--- a/core/modules/tracker/tracker.info.yml
+++ b/core/modules/tracker/tracker.info.yml
@@ -4,5 +4,6 @@ description: 'Enables tracking of recent content for users.'
 dependencies:
   - drupal:node
   - drupal:comment
+  - drupal:views
 package: Core
 version: VERSION
diff --git a/core/modules/tracker/tracker.links.menu.yml b/core/modules/tracker/tracker.links.menu.yml
deleted file mode 100644
index fe12bc4794..0000000000
--- a/core/modules/tracker/tracker.links.menu.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-tracker.page:
-  title: 'Recent content'
-  route_name: tracker.page
diff --git a/core/modules/tracker/tracker.links.task.yml b/core/modules/tracker/tracker.links.task.yml
deleted file mode 100644
index 48960575d7..0000000000
--- a/core/modules/tracker/tracker.links.task.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-tracker.page_tab:
-  route_name: tracker.page
-  title: 'Recent content'
-  base_route: tracker.page
-
-tracker.users_recent_tab:
-  route_name: tracker.users_recent_content
-  title: 'My recent content'
-  base_route: tracker.page
-  class: '\Drupal\tracker\Plugin\Menu\UserTrackerTab'
-
-tracker.user_tab:
-  route_name: tracker.user_tab
-  base_route: entity.user.canonical
-  title: 'Activity'
diff --git a/core/modules/tracker/tracker.module b/core/modules/tracker/tracker.module
index 457d2932e5..fb0b78237b 100644
--- a/core/modules/tracker/tracker.module
+++ b/core/modules/tracker/tracker.module
@@ -23,7 +23,7 @@ function tracker_help($route_name, RouteMatchInterface $route_match) {
       $output .= '<h3>' . t('Uses') . '</h3>';
       $output .= '<dl>';
       $output .= '<dt>' . t('Tracking new and updated site content') . '</dt>';
-      $output .= '<dd>' . t('The <a href=":recent">Recent content</a> page shows new and updated content in reverse chronological order, listing the content type, title, author\'s name, number of comments, and time of last update. Content is considered updated when changes occur in the text, or when new comments are added. The <em>My recent content</em> tab limits the list to the currently logged-in user.', [':recent' => Url::fromRoute('tracker.page')->toString()]) . '</dd>';
+      $output .= '<dd>' . t('The <a href="!recent">Recent content</a> page shows new and updated content in reverse chronological order, listing the content type, title, author\'s name, number of comments, and time of last update. Content is considered updated when changes occur in the text, or when new comments are added. The <em>My recent content</em> tab limits the list to the currently logged-in user.', ['!recent' => Url::fromRoute('tracker.page')->toString()]) . '</dd>';
       $output .= '<dt>' . t('Tracking user-specific content') . '</dt>';
       $output .= '<dd>' . t("To follow a specific user's new and updated content, select the <em>Activity</em> tab from the user's profile page.") . '</dd>';
       $output .= '</dl>';
@@ -350,3 +350,19 @@ function _tracker_remove($nid, $uid = NULL, $changed = NULL) {
       ->execute();
   }
 }
+
+/**
+ * 
+ * Implements hook_local_tasks_alter().
+ */
+function tracker_local_tasks_alter(&$local_tasks) {
+  $tracker_tasks = [
+    'views_view:view.tracker.page_1',
+    'views_view:view.tracker.page_3'
+  ];
+  foreach ($tracker_tasks as $task_name) {
+    if (isset($local_tasks[$task_name])) {
+      $local_tasks[$task_name]['class'] = '\Drupal\tracker\Plugin\Menu\UserTrackerTab';
+    }
+  }
+}
diff --git a/core/modules/tracker/tracker.routing.yml b/core/modules/tracker/tracker.routing.yml
deleted file mode 100644
index 113078ea0d..0000000000
--- a/core/modules/tracker/tracker.routing.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-tracker.page:
-  path: '/activity'
-  defaults:
-    _controller: '\Drupal\tracker\Controller\TrackerController::buildContent'
-    _title: 'Recent content'
-  requirements:
-    _permission: 'access content'
-
-tracker.users_recent_content:
-  path: '/activity/{user}'
-  defaults:
-    _controller: '\Drupal\tracker\Controller\TrackerController::buildContent'
-    _title: 'My recent content'
-  requirements:
-    _permission: 'access content'
-    _custom_access: '\Drupal\tracker\Controller\TrackerController::checkAccess'
-    user: \d+
-
-tracker.user_tab:
-  path: '/user/{user}/activity'
-  defaults:
-    _controller: '\Drupal\tracker\Controller\TrackerController::buildContent'
-    _title_callback: '\Drupal\tracker\Controller\TrackerController::getTitle'
-  requirements:
-    _permission: 'access content'
-    _entity_access: 'user.view'
-    user: \d+
diff --git a/core/modules/views_ui/tests/src/Functional/SettingsTest.php b/core/modules/views_ui/tests/src/Functional/SettingsTest.php
index 1e43f55813..5c54da237c 100644
--- a/core/modules/views_ui/tests/src/Functional/SettingsTest.php
+++ b/core/modules/views_ui/tests/src/Functional/SettingsTest.php
@@ -146,4 +146,11 @@ public function testEditUI() {
     $this->assertText(t('The cache has been cleared.'));
   }
 
+  /**
+   * Tests the "performance" setting bug in the Edit UI reported as #2404039.
+   */
+  function testEditUI2404039() {
+    $this->drupalLogin($this->adminUser);
+  }
+
 }
