diff --git a/core/modules/comment/comment.module b/core/modules/comment/comment.module
index 9240ce6..1599bda 100644
--- a/core/modules/comment/comment.module
+++ b/core/modules/comment/comment.module
@@ -179,6 +179,12 @@ function comment_field_storage_config_insert(FieldStorageConfigInterface $field_
     if (!_comment_entity_uses_integer_id($entity_type_id)) {
       throw new \UnexpectedValueException('You cannot attach a comment field to an entity with a non-integer ID field');
     }
+    if ($entity_type_id === 'user') {
+      // Make sure that we don't enable the comment field formatter by default
+      // on the compact view mode, as this can lead to recursion.
+      $display = entity_get_display('user', 'user', 'compact');
+      $display->removeComponent($field_storage->getName())->save();
+    }
   }
 }
 
diff --git a/core/modules/comment/src/Tests/CommentUserTest.php b/core/modules/comment/src/Tests/CommentUserTest.php
new file mode 100644
index 0000000..52f73a9
--- /dev/null
+++ b/core/modules/comment/src/Tests/CommentUserTest.php
@@ -0,0 +1,89 @@
+<?php
+/**
+ * @file
+ * Contains \Drupal\comment\Tests\CommentUserTest.
+ */
+
+namespace Drupal\comment\Tests;
+
+use Drupal\field_ui\Tests\FieldUiTestTrait;
+use Drupal\simpletest\WebTestBase;
+use Drupal\user\RoleInterface;
+
+/**
+ * Tests use of comment field on a user.
+ * @group comment
+ */
+class CommentUserTest extends WebTestBase {
+
+  // We cannot use CommentTestTrait as it deliberately disables the other view
+  // modes.
+  use FieldUiTestTrait;
+
+  public static $modules = [
+    'comment',
+    'user',
+    'image',
+    'field',
+    'comment_user_picture_test',
+    'field_ui',
+    'block',
+    'system',
+  ];
+
+  /**
+   * An administrative user with permission to configure comment settings.
+   *
+   * @var \Drupal\user\UserInterface
+   */
+  protected $adminUser;
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+
+    // We have to use the bartik theme to ensure that we have user pictures
+    // enabled.
+    $this->container->get('theme_handler')->install(array('bartik', 'seven'));
+    $this->config('system.theme')
+      ->set('default', 'bartik')
+      ->set('admin', 'seven')
+      ->save();
+
+    // Create test user.
+    $this->adminUser = $this->drupalCreateUser([
+      'administer comments',
+      'skip comment approval',
+      'post comments',
+      'access comments',
+      'administer user fields',
+      'access user profiles',
+    ]);
+
+    $this->drupalLogin($this->adminUser);
+    $this->drupalPlaceBlock('system_breadcrumb_block');
+
+    $this->fieldUIAddNewField('admin/config/people/accounts', 'comments', 'Comments', 'comment', [
+      'settings[comment_type]' => 'comment',
+    ]);
+  }
+
+  /**
+   * Tests anonymous commenting on a user.
+   */
+  public function testUserCommenting() {
+    // Navigate to user page.
+    $this->drupalGet('user/' . $this->adminUser->id());
+    // Comment on the user.
+    $edit = [];
+    $edit['subject[0][value]'] = 'I can comment on a user?';
+    $this->drupalPostForm(NULL, $edit, t('Save'));
+    $this->assertUrl('user/' . $this->adminUser->id() . '#comment-1');
+    $this->assertText('Your comment has been posted');
+    $this->assertResponse(200);
+    $this->assertText('I can comment on a user');
+  }
+
+}
diff --git a/core/modules/comment/tests/modules/comment_user_picture_test/comment_user_picture_test.info.yml b/core/modules/comment/tests/modules/comment_user_picture_test/comment_user_picture_test.info.yml
new file mode 100644
index 0000000..0582790
--- /dev/null
+++ b/core/modules/comment/tests/modules/comment_user_picture_test/comment_user_picture_test.info.yml
@@ -0,0 +1,11 @@
+name: 'Comment test user picture'
+type: module
+description: 'Provides default config for testing user pictures in comments.'
+package: Testing
+version: VERSION
+core: 8.x
+dependencies:
+  - comment
+  - views
+  - image
+  - user
diff --git a/core/modules/comment/tests/modules/comment_user_picture_test/config/install/comment.type.comment.yml b/core/modules/comment/tests/modules/comment_user_picture_test/config/install/comment.type.comment.yml
new file mode 100644
index 0000000..ed375e4
--- /dev/null
+++ b/core/modules/comment/tests/modules/comment_user_picture_test/config/install/comment.type.comment.yml
@@ -0,0 +1,6 @@
+id: comment
+label: 'Default comments'
+description: 'Allows commenting on users'
+target_entity_type_id: user
+status: true
+langcode: en
diff --git a/core/modules/comment/tests/modules/comment_user_picture_test/config/install/core.entity_form_display.user.user.default.yml b/core/modules/comment/tests/modules/comment_user_picture_test/config/install/core.entity_form_display.user.user.default.yml
new file mode 100644
index 0000000..d93cb2c
--- /dev/null
+++ b/core/modules/comment/tests/modules/comment_user_picture_test/config/install/core.entity_form_display.user.user.default.yml
@@ -0,0 +1,17 @@
+id: user.user.default
+targetEntityType: user
+bundle: user
+mode: default
+content:
+  user_picture:
+    type: image_image
+    settings:
+      progress_indicator: throbber
+      preview_image_style: thumbnail
+    third_party_settings: {  }
+    weight: -1
+status: true
+dependencies:
+  module:
+    - image
+    - user
diff --git a/core/modules/comment/tests/modules/comment_user_picture_test/config/install/field.field.user.user.user_picture.yml b/core/modules/comment/tests/modules/comment_user_picture_test/config/install/field.field.user.user.user_picture.yml
new file mode 100644
index 0000000..e1d8b64
--- /dev/null
+++ b/core/modules/comment/tests/modules/comment_user_picture_test/config/install/field.field.user.user.user_picture.yml
@@ -0,0 +1,31 @@
+id: user.user.user_picture
+status: true
+langcode: en
+entity_type: user
+bundle: user
+field_name: user_picture
+label: Picture
+description: 'Your virtual face or picture.'
+required: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  file_extensions: 'png gif jpg jpeg'
+  file_directory: pictures
+  max_filesize: '30 KB'
+  alt_field: false
+  title_field: false
+  max_resolution: 85x85
+  min_resolution: ''
+  default_image:
+    uuid: null
+    alt: ''
+    title: ''
+    width: null
+    height: null
+  alt_field_required: false
+  title_field_required: false
+field_type: image
+dependencies:
+  config:
+    - field.storage.user.user_picture
diff --git a/core/modules/comment/tests/modules/comment_user_picture_test/config/install/field.storage.user.user_picture.yml b/core/modules/comment/tests/modules/comment_user_picture_test/config/install/field.storage.user.user_picture.yml
new file mode 100644
index 0000000..b7e3141
--- /dev/null
+++ b/core/modules/comment/tests/modules/comment_user_picture_test/config/install/field.storage.user.user_picture.yml
@@ -0,0 +1,25 @@
+id: user.user_picture
+status: true
+langcode: en
+field_name: user_picture
+entity_type: user
+type: image
+settings:
+  uri_scheme: public
+  default_image:
+    uuid: null
+    alt: ''
+    title: ''
+    width: null
+    height: null
+module: image
+locked: false
+cardinality: 1
+indexes:
+  target_id:
+    - target_id
+dependencies:
+  module:
+    - image
+    - user
+persist_with_no_fields: false
