diff --git a/src/Plugin/Condition/EntityBundle.php b/src/Plugin/Condition/EntityBundle.php
index 50d5966..e65dab8 100644
--- a/src/Plugin/Condition/EntityBundle.php
+++ b/src/Plugin/Condition/EntityBundle.php
@@ -7,6 +7,7 @@
 namespace Drupal\ctools\Plugin\Condition;
 
 use Drupal\Core\Condition\ConditionPluginBase;
+use Drupal\Core\Entity\Entity;
 use Drupal\Core\Entity\EntityTypeBundleInfoInterface;
 use Drupal\Core\Entity\EntityTypeManagerInterface;
 use Drupal\Core\Form\FormStateInterface;
@@ -38,6 +39,11 @@ class EntityBundle extends ConditionPluginBase implements ConstraintConditionInt
   protected $bundleOf;
 
   /**
+   * @var \Drupal\Core\Entity\EntityStorageInterface
+   */
+  protected $storage;
+
+  /**
    * Creates a new EntityBundle instance.
    *
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
@@ -58,6 +64,7 @@ class EntityBundle extends ConditionPluginBase implements ConstraintConditionInt
     parent::__construct($configuration, $plugin_id, $plugin_definition);
     $this->entityTypeBundleInfo = $entity_type_bundle_info;
     $this->bundleOf = $entity_type_manager->getDefinition($this->getDerivativeId());
+    $this->storage = $entity_type_manager->getStorage($this->bundleOf->id());
   }
 
   /**
@@ -108,6 +115,9 @@ class EntityBundle extends ConditionPluginBase implements ConstraintConditionInt
     }
     /** @var \Drupal\Core\Entity\ContentEntityInterface $entity */
     $entity = $this->getContextValue($this->bundleOf->id());
+    if (is_string($entity)) {
+      $entity = $this->storage->load($entity);
+    }
     return !empty($this->configuration['bundles'][$entity->bundle()]);
   }
 
