diff --git a/core/modules/user/src/Tests/UserRoleStaticCacheTest.php b/core/modules/user/src/Tests/UserRoleStaticCacheTest.php
new file mode 100644
index 0000000..e0ff52d
--- /dev/null
+++ b/core/modules/user/src/Tests/UserRoleStaticCacheTest.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\user\Tests\UserRoleStaticCacheTest.
+ */
+
+namespace Drupal\user\Tests;
+
+use Drupal\simpletest\WebTestBase;
+
+/**
+ * Tests user roles static cache.
+ *
+ * @group user
+ */
+class UserRoleStaticCacheTest extends WebTestBase {
+
+  protected $profile = 'standard';
+
+  protected function setUp() {
+    parent::setUp();
+    $account = $this->drupalCreateUser(['administer permissions', 'administer users', 'access site reports', 'administer filters']);
+    $this->drupalLogin($account);
+  }
+
+  /**
+   * Tests static user_roles() static cache usage.
+   */
+  public function testUserRolesStaticCacheHit() {
+    $paths = [
+      '',
+      'user',
+      'node',
+      'admin/content',
+      'admin/people',
+      'admin/people/permissions',
+      'admin/people/roles',
+    ];
+    foreach ($paths as $path) {
+      $this->drupalGet($path);
+    }
+
+    // Edit user profile.
+    $this->drupalPostForm('user/1/edit', [], t('Save'));
+    // Edit a text format.
+    $this->drupalPostForm('admin/config/content/formats/manage/basic_html', ['roles[anonymous]' => TRUE], t('Save configuration'));
+    // Edit a role.
+    $this->drupalPostForm('admin/people/roles/manage/administrator', ['label' => 'new admin name'], t('Save'));
+
+    $this->drupalGet('admin/reports/dblog');
+    $this->assertNoRaw("'user_roles' static cache hit.");
+  }
+
+}
\ No newline at end of file
diff --git a/core/modules/user/user.module b/core/modules/user/user.module
index 73b9413..3fc8ad6 100644
--- a/core/modules/user/user.module
+++ b/core/modules/user/user.module
@@ -1057,6 +1057,7 @@ function user_roles($membersonly = FALSE, $permission = NULL) {
   if (empty($permission)) {
     $cid = $membersonly ? RoleInterface::AUTHENTICATED_ID : RoleInterface::ANONYMOUS_ID;
     if (isset($user_roles[$cid])) {
+      \Drupal::logger('system')->info("'user_roles' static cache hit.");
       return $user_roles[$cid];
     }
   }
