diff --git a/src/Form/EntityEmbedDialog.php b/src/Form/EntityEmbedDialog.php
index ae0194b..e7ac76c 100644
--- a/src/Form/EntityEmbedDialog.php
+++ b/src/Form/EntityEmbedDialog.php
@@ -20,6 +20,7 @@ use Drupal\editor\EditorInterface;
 use Drupal\embed\EmbedButtonInterface;
 use Drupal\entity_browser\Events\Events;
 use Drupal\entity_browser\Events\RegisterJSCallbacks;
+use Drupal\entity_browser\Plugin\EntityBrowser\Display\Modal;
 use Drupal\entity_embed\EntityEmbedDisplay\EntityEmbedDisplayManager;
 use Drupal\Component\Serialization\Json;
 use Symfony\Component\DependencyInjection\ContainerInterface;
@@ -237,7 +238,7 @@ class EntityEmbedDialog extends FormBase {
       $this->eventDispatcher->addListener(Events::REGISTER_JS_CALLBACKS, [$this, 'registerJSCallback']);
       $form['entity_browser'] = [
         '#type' => 'entity_browser',
-        '#entity_browser' => $this->entityBrowser->id(),
+        '#entity_browser' => $this->entityBrowser,
         '#cardinality' => 1,
         '#entity_browser_validators' => [
           'entity_type' => ['type' => $entity_element['data-entity-type']],
@@ -828,6 +829,16 @@ class EntityEmbedDialog extends FormBase {
 
     if ($embed_button && $entity_browser_id = $embed_button->getTypePlugin()->getConfigurationValue('entity_browser')) {
       $this->entityBrowser = $this->entityTypeManager->getStorage('entity_browser')->load($entity_browser_id);
+      $original_display = $this->entityBrowser->getDisplay();
+      if ($original_display instanceof Modal) {
+        // We don't support modals right now. Force it to an iframe.
+        $this->entityBrowser->setDisplay('iframe');
+        $iframe = $this->entityBrowser->getDisplay();
+        $iframe->setConfiguration([
+          'auto_open' => TRUE,
+          'entity_browser_id' => $this->entityBrowser->id(),
+        ] + $original_display->getConfiguration());
+      }
       $this->entityBrowserSettings = $embed_button->getTypePlugin()->getConfigurationValue('entity_browser_settings');
     }
   }
