diff --git a/core/modules/user/src/Tests/UserFieldsTest.php b/core/modules/user/src/Tests/UserFieldsTest.php
new file mode 100644
index 0000000..f605c15
--- /dev/null
+++ b/core/modules/user/src/Tests/UserFieldsTest.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * @file
+ * Definition of Drupal\user\Tests\UserFieldsTest.
+ */
+
+namespace Drupal\user\Tests;
+
+use Drupal\user\Entity\User;
+use Drupal\simpletest\KernelTestBase;
+
+/**
+ * Tests available user fields in twig.
+ *
+ * @group user
+ */
+class UserFieldsTest extends KernelTestBase {
+  /**
+   * Modules to enable.
+   *
+   * @var array
+   */
+  public static $modules = array('user', 'system');
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+    $this->installEntitySchema('user');
+
+    // Setup a test theme that prints the user's mail field.
+    \Drupal::service('theme_handler')->install(array('user_test_theme'));
+    \Drupal::theme()->setActiveTheme(\Drupal::service('theme.initialization')->initTheme('user_test_theme'));
+    // Clear the theme registry.
+    $this->container->set('theme.registry', NULL);
+  }
+
+  /**
+   * Tests account's available fields.
+   */
+  function testUserFields() {
+    // Create the user to test the user fields.
+    $user = User::create([
+      'name' => 'foobar',
+      'mail' => 'foobar@example.com',
+    ]);
+    $build = user_view($user);
+    $output = drupal_render($build);
+    $this->setRawContent($output);
+    $userEmail = $user->getEmail();
+    $this->assertText($userEmail, 'User\'s mail field is found in the twig template');
+  }
+}
diff --git a/core/modules/user/tests/themes/user_test_theme/user.html.twig b/core/modules/user/tests/themes/user_test_theme/user.html.twig
new file mode 100644
index 0000000..717aa87
--- /dev/null
+++ b/core/modules/user/tests/themes/user_test_theme/user.html.twig
@@ -0,0 +1,33 @@
+{#
+/**
+ * @file
+ * Default theme implementation to present all user data.
+ *
+ * This template is used when viewing a registered user's page,
+ * e.g., example.com/user/123. 123 being the user's ID.
+ *
+ * Available variables:
+ * - content: A list of content items. Use 'content' to print all content, or
+ *   print a subset such as 'content.field_example'.
+ * - Field variables: For each field attached to the user a corresponding
+ *   variable is defined; e.g., account.field_example has a variable
+ *   'field_example' defined. When needing to access a field's raw values,
+ *   developers/themers are strongly encouraged to use these variables.
+ *   Otherwise they will have to explicitly specify the desired field language,
+ *   e.g. account.field_example.en, thus overriding any language negotiation
+ *   rule that was previously applied.
+ * - attributes: HTML attributes for the container element.
+ *
+ * @see template_preprocess_user()
+ *
+ * @ingroup themeable
+ */
+#}
+<article{{ attributes.addClass('profile') }}>
+  {% if content %}
+    {{- content -}}
+  {% endif %}
+  {% if user %}
+    <p>{{- user.mail.value -}}</p>
+  {% endif  %}
+</article>
diff --git a/core/modules/user/tests/themes/user_test_theme/user_test_theme.info.yml b/core/modules/user/tests/themes/user_test_theme/user_test_theme.info.yml
new file mode 100644
index 0000000..817d265
--- /dev/null
+++ b/core/modules/user/tests/themes/user_test_theme/user_test_theme.info.yml
@@ -0,0 +1,11 @@
+name: 'User Test theme'
+type: theme
+description: 'Theme for testing the available fields in user twig template'
+version: VERSION
+core: 8.x
+stylesheets-remove:
+  - system.module.css
+regions:
+  content: Content
+  left: Left
+  right: Right
diff --git a/core/modules/user/user.module b/core/modules/user/user.module
index 86c063d..1aebc44 100644
--- a/core/modules/user/user.module
+++ b/core/modules/user/user.module
@@ -1501,6 +1501,7 @@ function user_logout() {
  *   - attributes: HTML attributes for the containing element.
  */
 function template_preprocess_user(&$variables) {
+  $variables['user'] = $variables['elements']['#user'];
   // Helpful $content variable for templates.
   foreach (Element::children($variables['elements']) as $key) {
     $variables['content'][$key] = $variables['elements'][$key];
