diff --git a/core/modules/comment/comment.module b/core/modules/comment/comment.module
index 0fce7ec..73ff98b 100644
--- a/core/modules/comment/comment.module
+++ b/core/modules/comment/comment.module
@@ -232,14 +232,18 @@ function comment_field_instance_create(FieldInstanceInterface $instance) {
     \Drupal::service('comment.manager')->addBodyField($instance->entity_type, $instance->getName());
     \Drupal::cache()->delete('comment_entity_info');
     // Assign default values for the field instance.
-    $instance->default_value = array(array(
+    if (!isset($instance->default_value)) {
+      $instance->default_value = array();
+    }
+    $instance->default_value += array(array());
+    $instance->default_value[0] += array(
       'status' => COMMENT_OPEN,
       'cid' => 0,
       'last_comment_timestamp' => 0,
       'last_comment_name' => '',
       'last_comment_uid' => 0,
       'comment_count' => 0,
-    ));
+    );
   }
 }
 
diff --git a/core/modules/comment/lib/Drupal/comment/Tests/CommentFieldsTest.php b/core/modules/comment/lib/Drupal/comment/Tests/CommentFieldsTest.php
index 0e69739..c0b2aaf 100644
--- a/core/modules/comment/lib/Drupal/comment/Tests/CommentFieldsTest.php
+++ b/core/modules/comment/lib/Drupal/comment/Tests/CommentFieldsTest.php
@@ -57,6 +57,11 @@ function testCommentDefaultFields() {
     $this->assertTrue($field, 'The comment_body field exists');
     $instances = $this->container->get('field.info')->getInstances('comment');
     $this->assertTrue(isset($instances['node__comment']['comment_body']), format_string('The comment_body field is present for comments on type @type', array('@type' => $type_name)));
+
+    // Test adding a field that defaults to COMMENT_CLOSED.
+    $this->container->get('comment.manager')->addDefaultField('node', 'test_node_type', 'who_likes_ponies', COMMENT_CLOSED);
+    $field = entity_load('field_instance', 'node.test_node_type.who_likes_ponies');
+    $this->assertEqual($field->default_value[0]['status'], COMMENT_CLOSED);
   }
 
   /**
