diff --git a/core/modules/comment/src/CommentTypeForm.php b/core/modules/comment/src/CommentTypeForm.php
index 418aea1a33c2a8b6bab1a066ea2dcd9303866ef3..0d93b1c05004b15267c07941ace1f4274bb80c0d 100644
--- a/core/modules/comment/src/CommentTypeForm.php
+++ b/core/modules/comment/src/CommentTypeForm.php
@@ -88,18 +88,28 @@ public function form(array $form, FormStateInterface $form_state) {
       '#title' => t('Description'),
     );
 
-    $options = array();
-    foreach ($this->entityManager->getDefinitions() as $entity_type) {
-      if ($entity_type->isFieldable()) {
-        $options[$entity_type->id()] = $entity_type->getLabel();
+    if ($comment_type->isNew()) {
+      $options = array();
+      foreach ($this->entityManager->getDefinitions() as $entity_type) {
+        if ($entity_type->isFieldable()) {
+          $options[$entity_type->id()] = $entity_type->getLabel();
+        }
       }
+      $form['target_entity_type_id'] = array(
+        '#type' => 'select',
+        '#default_value' => $comment_type->getTargetEntityTypeId(),
+        '#title' => t('Target entity type'),
+        '#options' => $options,
+        '#description' => t('The target entity type can not be changed after the comment type has been created.')
+      );
+    }
+    else {
+      $form['target_entity_type_id_display'] = array(
+        '#type' => 'item',
+        '#markup' => $this->entityManager->getDefinition($comment_type->getTargetEntityTypeId())->getLabel(),
+        '#title' => t('Target entity type'),
+      );
     }
-    $form['target_entity_type_id'] = array(
-      '#type' => 'select',
-      '#default_value' => $comment_type->getTargetEntityTypeId(),
-      '#title' => t('Target entity type'),
-      '#options' => $options,
-    );
 
     if ($this->moduleHandler->moduleExists('content_translation')) {
       $form['language'] = array(
diff --git a/core/modules/comment/src/Tests/CommentTypeTest.php b/core/modules/comment/src/Tests/CommentTypeTest.php
index bf687ee89f42d9339ae74c2a15770d6c2991d854..87fb38bc40c5b1dfaf5ff9b26407a57317868b33 100644
--- a/core/modules/comment/src/Tests/CommentTypeTest.php
+++ b/core/modules/comment/src/Tests/CommentTypeTest.php
@@ -76,6 +76,17 @@ public function testCommentTypeCreation() {
     // Check that the comment type was created in site default language.
     $default_langcode = \Drupal::languageManager()->getDefaultLanguage()->id;
     $this->assertEqual($comment_type->language()->getId(), $default_langcode);
+
+    // Edit the comment-type and ensure that we cannot change the entity-type.
+    $this->drupalGet('admin/structure/comment/manage/foo');
+    $this->assertNoField('target_entity_type_id', 'Entity type file not present');
+    $this->assertText(t('Target entity type'));
+    // Save the form and ensure the entity-type value is preserved even though
+    // the field isn't present.
+    $this->drupalPostForm(NULL, array(), t('Save'));
+    \Drupal::entityManager()->getStorage('comment_type')->resetCache(array('foo'));
+    $comment_type = CommentType::load('foo');
+    $this->assertEqual($comment_type->getTargetEntityTypeId(), 'node');
   }
 
   /**