diff -u b/src/Plugin/Condition/EntityIsOfBundle.php b/src/Plugin/Condition/EntityIsOfBundle.php
--- b/src/Plugin/Condition/EntityIsOfBundle.php
+++ b/src/Plugin/Condition/EntityIsOfBundle.php
@@ -4,6 +4,7 @@
 
 use Drupal\Core\Entity\ContentEntityTypeInterface;
 use Drupal\Core\Entity\EntityInterface;
+use Drupal\Core\Entity\EntityTypeBundleInfoInterface;
 use Drupal\Core\Entity\EntityTypeManagerInterface;
 use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
 use Drupal\rules\Core\RulesConditionBase;
@@ -49,6 +50,13 @@
   protected $entityTypeManager;
 
   /**
+   * The entity type bundle information manager.
+   *
+   * @var \Drupal\Core\Entity\EntityTypeBundleInfoInterface
+   */
+  protected $entityBundleInfo;
+
+  /**
    * Constructs an EntityIsOfBundle object.
    *
    * @param array $configuration
@@ -59,10 +67,13 @@
    *   The plugin implementation definition.
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
    *   The entity_type.manager service.
+   * @param \Drupal\Core\Entity\EntityTypeBundleInfoInterface $entity_bundle_info
+   *   The entity type bundle information manager.
    */
-  public function __construct(array $configuration, $plugin_id, $plugin_definition, EntityTypeManagerInterface $entity_type_manager) {
+  public function __construct(array $configuration, $plugin_id, $plugin_definition, EntityTypeManagerInterface $entity_type_manager, EntityTypeBundleInfoInterface $entity_bundle_info) {
     parent::__construct($configuration, $plugin_id, $plugin_definition);
     $this->entityTypeManager = $entity_type_manager;
+    $this->entityBundleInfo = $entity_bundle_info;
   }
 
   /**
@@ -73,7 +84,8 @@
       $configuration,
       $plugin_id,
       $plugin_definition,
-      $container->get('entity_type.manager')
+      $container->get('entity_type.manager'),
+      $container->get('entity_type.bundle.info')
     );
   }
 
@@ -136,6 +148,7 @@
       }
     }
 
+    ksort($options);
     return $options;
   }
 
@@ -149,19 +162,20 @@
     $options = [];
 
     $entity_types = $this->entityTypeManager->getDefinitions();
-
     foreach ($entity_types as $entity_type) {
-      if ($bundle_entity_type = $entity_type->getBundleEntityType()) {
-        foreach ($this->entityTypeManager->getStorage($bundle_entity_type)->loadMultiple() as $entity) {
-          $options[$entity->id()] = $entity->label();
-          // If the id differs from the label add the id in brackets.
-          if (strtolower(str_replace('_', ' ', $entity->id())) != strtolower($entity->label())) {
-            $options[$entity->id()] .= ' (' . $entity->id() . ')';
-          }
-        }
+      if (!$entity_type instanceof ContentEntityTypeInterface) {
+        continue;
       }
+
+      $bundles = $this->entityBundleInfo->getBundleInfo($entity_type->id());
+      // Transform the $bundles array into a form suitable for select options.
+      array_walk($bundles, function (&$value, $key) {
+        $value = (string) $value['label'];
+      });
+      $options[(string) $entity_type->getLabel()] = $bundles;
     }
 
+    ksort($options);
     return $options;
   }
 
