diff --git a/core/modules/user/lib/Drupal/user/Tests/UserRoleAdminTest.php b/core/modules/user/lib/Drupal/user/Tests/UserRoleAdminTest.php
index ba2a4b3f2a9b346ed7eb341bfabbac32971a8714..2658b1a94fe21343d0cf0125a8cf6df1d9b16fb2 100644
--- a/core/modules/user/lib/Drupal/user/Tests/UserRoleAdminTest.php
+++ b/core/modules/user/lib/Drupal/user/Tests/UserRoleAdminTest.php
@@ -33,6 +33,13 @@ function setUp() {
   function testRoleAdministration() {
     $this->drupalLogin($this->admin_user);
     $default_langcode = language_default()->id;
+    // Test presence of tab.
+    $this->drupalGet('admin/people/permissions');
+    $tabs = $this->xpath('//ul[@class=:classes and //a[contains(., :text)]]', array(
+      ':classes' => 'tabs primary',
+      ':text' => t('Roles'),
+    ));
+    $this->assertEqual(count($tabs), 1, 'Found roles tab');
 
     // Test adding a role. (In doing so, we use a role name that happens to
     // correspond to an integer, to test that the role administration pages
diff --git a/core/modules/user/tests/Drupal/user/Tests/Menu/UserLocalTasksTest.php b/core/modules/user/tests/Drupal/user/Tests/Menu/UserLocalTasksTest.php
index 5fb9f40a5a79f86fd55fc16a9e14608e988d343a..ac624fc7d4ee59024ced9b657bf8ddae5e3a8f0f 100644
--- a/core/modules/user/tests/Drupal/user/Tests/Menu/UserLocalTasksTest.php
+++ b/core/modules/user/tests/Drupal/user/Tests/Menu/UserLocalTasksTest.php
@@ -44,7 +44,9 @@ public function testUserAdminLocalTasks($route, $expected) {
    */
   public function getUserAdminRoutes() {
     return array(
-      array('user.role_list', array(array('user.role_list_tab'))),
+      array('user.admin_account', array(array('user.admin_account', 'user.admin_permissions', 'user.role_list'))),
+      array('user.admin_permissions', array(array('user.admin_account', 'user.admin_permissions', 'user.role_list'))),
+      array('user.role_list', array(array('user.admin_account', 'user.admin_permissions', 'user.role_list'))),
       array('user.account_settings', array(array('user.account_settings_tab'))),
     );
   }
diff --git a/core/modules/user/user.local_tasks.yml b/core/modules/user/user.local_tasks.yml
index 91553d05c9f6d5b7cd9e382059f26f4b9c53c63d..a9cff5b00784dc869ee5da4dd608741b6f2b3819 100644
--- a/core/modules/user/user.local_tasks.yml
+++ b/core/modules/user/user.local_tasks.yml
@@ -1,7 +1,3 @@
-user.role_list_tab:
-  route_name: user.role_list
-  title: 'Roles'
-  tab_root_id: user.role_list_tab
 
 user.role_edit:
   title: 'Edit'
@@ -51,3 +47,9 @@ user.admin_permissions:
   title: Permissions
   route_name: user.admin_permissions
   tab_root_id: user.admin_account
+
+user.role_list:
+  title: 'Roles'
+  route_name: user.role_list
+  tab_root_id: user.admin_account
+  weight: 10