diff --git a/core/lib/Drupal/Core/Entity/Plugin/EntityReferenceSelection/DefaultSelection.php b/core/lib/Drupal/Core/Entity/Plugin/EntityReferenceSelection/DefaultSelection.php
index 218131c..f2e682f 100644
--- a/core/lib/Drupal/Core/Entity/Plugin/EntityReferenceSelection/DefaultSelection.php
+++ b/core/lib/Drupal/Core/Entity/Plugin/EntityReferenceSelection/DefaultSelection.php
@@ -89,9 +89,21 @@ public function buildConfigurationForm(array $form, FormStateInterface $form_sta
       }
       natsort($bundle_options);
 
+      // Figure out the best available label available to be used in the
+      // "target_bundles" element title.
+      $bundle_label = $this->t('Bundles');
+      if (!empty($entity_type->getBundleLabel())) {
+        $bundle_label = $entity_type->getBundleLabel();
+      }
+      elseif ($bundle_entity_type = $entity_type->getBundleEntityType()) {
+        $bundle_label = $this->entityManager->getDefinition($bundle_entity_type)->getLabel();
+      }
+      elseif (!empty($entity_type->getLabel())) {
+        $bundle_label = $entity_type->getLabel();
+      }
       $form['target_bundles'] = [
         '#type' => 'checkboxes',
-        '#title' => $this->t('Bundles'),
+        '#title' => $bundle_label,
         '#options' => $bundle_options,
         '#default_value' => (array) $configuration['target_bundles'],
         '#required' => TRUE,
diff --git a/core/modules/node/src/Plugin/EntityReferenceSelection/NodeSelection.php b/core/modules/node/src/Plugin/EntityReferenceSelection/NodeSelection.php
index 906f15f..747caca 100644
--- a/core/modules/node/src/Plugin/EntityReferenceSelection/NodeSelection.php
+++ b/core/modules/node/src/Plugin/EntityReferenceSelection/NodeSelection.php
@@ -22,15 +22,6 @@ class NodeSelection extends DefaultSelection {
   /**
    * {@inheritdoc}
    */
-  public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
-    $form = parent::buildConfigurationForm($form, $form_state);
-    $form['target_bundles']['#title'] = $this->t('Content types');
-    return $form;
-  }
-
-  /**
-   * {@inheritdoc}
-   */
   protected function buildEntityQuery($match = NULL, $match_operator = 'CONTAINS') {
     $query = parent::buildEntityQuery($match, $match_operator);
     // Adding the 'node_access' tag is sadly insufficient for nodes: core
diff --git a/core/modules/taxonomy/src/Plugin/EntityReferenceSelection/TermSelection.php b/core/modules/taxonomy/src/Plugin/EntityReferenceSelection/TermSelection.php
index a66eaf5..9d97a55 100644
--- a/core/modules/taxonomy/src/Plugin/EntityReferenceSelection/TermSelection.php
+++ b/core/modules/taxonomy/src/Plugin/EntityReferenceSelection/TermSelection.php
@@ -38,8 +38,6 @@ public function defaultConfiguration() {
   public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
     $form = parent::buildConfigurationForm($form, $form_state);
 
-    $form['target_bundles']['#title'] = $this->t('Available Vocabularies');
-
     // Sorting is not possible for taxonomy terms because we use
     // \Drupal\taxonomy\TermStorageInterface::loadTree() to retrieve matches.
     $form['sort']['#access'] = FALSE;
