diff --git a/core/modules/comment/comment.module b/core/modules/comment/comment.module
index bb203bf644..ad92f09e73 100644
--- a/core/modules/comment/comment.module
+++ b/core/modules/comment/comment.module
@@ -198,12 +198,37 @@ function comment_field_storage_config_insert(FieldStorageConfigInterface $field_
  */
 function comment_field_config_delete(FieldConfigInterface $field) {
   if ($field->getType() == 'comment') {
-    // Delete all comments that used by the entity bundle.
-    $entity_query = \Drupal::entityQuery('comment');
-    $entity_query->condition('entity_type', $field->getEntityTypeId());
-    $entity_query->condition('field_name', $field->getName());
-    $cids = $entity_query->execute();
+    // Delete all comments of the comment field which was just deleted.
+    // - Comment field may be used on multiple bundles (e.g. node types).
+    // - Delete comments only from the bundle the field was deleted from.
+    $entity_type = \Drupal::entityTypeManager()->getDefinition($field->getTargetEntityTypeId());
+    $bundle_field = $entity_type->getKey('bundle');
+
+    $comment_query = \Drupal::entityQuery('comment');
+    $comment_query
+      ->condition('entity_type', $field->getTargetEntityTypeId())
+      ->condition('field_name', $field->getName());
+    if ($bundle_field) {
+      $key = 'entity_id.entity.' . $bundle_field;
+      $comment_query->condition($key, $field->getTargetBundle());
+    }
+    $cids = $comment_query->execute();
     entity_delete_multiple('comment', $cids);
+
+    // Delete the comment statistics for this comment field.
+    // Deletions need to be limited by the bundle the same way as above.
+    // Get a list of entity_ids that are affected by the field deletion.
+    $connection = \Drupal::database();
+    $entity_query = $connection->select($entity_type->getBaseTable(), 'base_table');
+    $entity_query->addField('base_table', $entity_type->getKey('id'));
+    if ($bundle_field) {
+      $entity_query->condition($bundle_field, $field->getTargetBundle());
+    }
+    $connection->delete('comment_entity_statistics')
+      ->condition('entity_type', $field->getTargetEntityTypeId())
+      ->condition('field_name', $field->getName())
+      ->condition('entity_id', $entity_query, 'IN')
+      ->execute();
   }
 }
 
