diff --git a/core/modules/media/src/Form/EditorMediaDialog.php b/core/modules/media/src/Form/EditorMediaDialog.php
index 450c7157a4da7d1f61489b910ccd3f5c964e5730..efe9cccbbb44984e5d88baab5eeafbe61b7c5868 100644
--- a/core/modules/media/src/Form/EditorMediaDialog.php
+++ b/core/modules/media/src/Form/EditorMediaDialog.php
@@ -173,7 +173,7 @@ public function buildForm(array $form, FormStateInterface $form_state, EditorInt
     ];
 
     $view_mode_options = array_intersect_key($this->entityDisplayRepository->getViewModeOptions('media'), $media_embed_filter->settings['allowed_view_modes']);
-    $default_view_mode = static::getViewModeDefaultValue($view_mode_options, $media_embed_filter, $media_embed_element['data-view-mode']);
+    $default_view_mode = static::getViewModeDefaultValue($view_mode_options, $media_embed_filter, $media_embed_element['data-view-mode'] ?? NULL);
 
     $form['view_mode'] = [
       '#title' => $this->t("Display"),
diff --git a/core/modules/media/tests/src/Kernel/EditorMediaDialogTest.php b/core/modules/media/tests/src/Kernel/EditorMediaDialogTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..ee3e4df6abe3814ac5269ca777ce49aef89d5caa
--- /dev/null
+++ b/core/modules/media/tests/src/Kernel/EditorMediaDialogTest.php
@@ -0,0 +1,92 @@
+<?php
+
+namespace Drupal\Tests\media\Kernel;
+
+use Drupal\Core\Form\FormState;
+use Drupal\editor\EditorInterface;
+use Drupal\filter\Entity\FilterFormat;
+use Drupal\KernelTests\KernelTestBase;
+use Drupal\media\Entity\Media;
+use Drupal\media\Form\EditorMediaDialog;
+use Drupal\Tests\media\Traits\MediaTypeCreationTrait;
+
+/**
+ * @coversDefaultClass \Drupal\media\Form\EditorMediaDialog
+ * @group media
+ */
+class EditorMediaDialogTest extends KernelTestBase {
+
+  use MediaTypeCreationTrait;
+
+  /**
+   * {@inheritdoc}
+   */
+  protected static $modules = [
+    'field',
+    'file',
+    'filter',
+    'image',
+    'media',
+    'media_test_source',
+    'system',
+    'user',
+  ];
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+
+    $this->installSchema('file', ['file_usage']);
+    $this->installEntitySchema('file');
+    $this->installEntitySchema('media');
+    $this->installEntitySchema('user');
+  }
+
+  /**
+   * Tests that the form builds successfully.
+   *
+   * @covers ::buildForm
+   */
+  public function testBuildForm() {
+    $format = FilterFormat::create([
+      'filters' => [
+        'media_embed' => ['status' => TRUE],
+      ],
+    ]);
+
+    $editor = $this->prophesize(EditorInterface::class);
+    $editor->getFilterFormat()->willReturn($format);
+
+    // Create a sample media entity to be embedded.
+    $media = Media::create([
+      'bundle' => $this->createMediaType('test')->id(),
+      'name' => 'Screaming hairy armadillo',
+      'field_media_test' => $this->randomString(),
+    ]);
+    $media->save();
+
+    $form_state = new FormState();
+    $form_state->setUserInput([
+      'editor_object' => [
+        'attributes' => [
+          'data-entity-type' => 'media',
+          'data-entity-uuid' => $media->uuid(),
+          'data-align' => 'center',
+        ],
+        'hasCaption' => 'false',
+        'label' => $media->label(),
+        'link' => '',
+        'hostEntityLangcode' => $media->language()->getId(),
+        'classes' => '',
+      ],
+    ]);
+    $form_state->setRequestMethod('POST');
+
+    EditorMediaDialog::create($this->container)
+      ->buildForm([], $form_state, $editor->reveal());
+    $this->pass('Form was built without errors.');
+  }
+
+}