diff --git a/core/modules/comment/src/Plugin/Field/FieldWidget/CommentWidget.php b/core/modules/comment/src/Plugin/Field/FieldWidget/CommentWidget.php
index 7ea8eb0682ff63209392dbede68653a2c9e7e102..e7b3898dfb04b44d00282a94a5d38be5f5685c2e 100644
--- a/core/modules/comment/src/Plugin/Field/FieldWidget/CommentWidget.php
+++ b/core/modules/comment/src/Plugin/Field/FieldWidget/CommentWidget.php
@@ -32,7 +32,6 @@ public function formElement(FieldItemListInterface $items, $delta, array $elemen
       '#title' => $this->t('Comments'),
       '#title_display' => 'invisible',
       '#default_value' => $items->status,
-      '#required' => TRUE,
       '#options' => [
         CommentItemInterface::OPEN => $this->t('Open'),
         CommentItemInterface::CLOSED => $this->t('Closed'),
@@ -48,6 +47,12 @@ public function formElement(FieldItemListInterface $items, $delta, array $elemen
         '#description' => $this->t('Comments are hidden from view.'),
       ],
     ];
+
+    // Setting a value in the default value widget is required.
+    if ($this->isDefaultValueWidget($form_state)) {
+      $element['status']['#required'] = TRUE;
+    }
+
     // If the entity doesn't have any comments, the "hidden" option makes no
     // sense, so don't even bother presenting it to the user unless this is the
     // default value widget on the field settings form.
diff --git a/core/modules/comment/tests/src/Functional/CommentNonNodeTest.php b/core/modules/comment/tests/src/Functional/CommentNonNodeTest.php
index 9b24d387e5b7f852cd2087b2a00cf369a73fe979..07e10871ea580d0e95df4b8cac5b8282b127e030 100644
--- a/core/modules/comment/tests/src/Functional/CommentNonNodeTest.php
+++ b/core/modules/comment/tests/src/Functional/CommentNonNodeTest.php
@@ -523,4 +523,32 @@ public function testsNonIntegerIdEntities() {
     $this->assertSession()->elementExists('css', "[name='new_storage_type'][value='boolean']");
   }
 
+  /**
+   * Ensures that comment settings are not required.
+   */
+  public function testCommentSettingsNotRequired() {
+    $limited_user = $this->drupalCreateUser([
+      'administer entity_test fields',
+    ]);
+    $this->drupalLogin($limited_user);
+    $this->drupalGet('entity_test/structure/entity_test/fields/entity_test.entity_test.comment');
+
+    // Change the comments to be displayed as hidden by default.
+    $edit = [
+      'default_value_input[comment][0][status]' => CommentItemInterface::HIDDEN,
+      'settings[anonymous]' => CommentInterface::ANONYMOUS_MAY_CONTACT,
+    ];
+    $this->submitForm($edit, 'Save settings');
+
+    // Ensure that the comment settings field is not required and can be saved
+    // with the default value.
+    $this->drupalLogin($this->adminUser);
+    $this->drupalGet('/entity_test/add');
+    $edit = [
+      "name[0][value]" => 'Comment test',
+    ];
+    $this->submitForm($edit, 'Save');
+    $this->assertSession()->pageTextContains('entity_test 2 has been created.');
+  }
+
 }