diff --git a/core/modules/media_library/tests/modules/media_library_test/config/install/core.entity_form_display.node.basic_page.default.yml b/core/modules/media_library/tests/modules/media_library_test/config/install/core.entity_form_display.node.basic_page.default.yml
index f7fd27b327f6dbd83638752143e56da4d4ccaf94..7fbc5ef2ef714d182d2508ae2adbe2568d7c66e7 100644
--- a/core/modules/media_library/tests/modules/media_library_test/config/install/core.entity_form_display.node.basic_page.default.yml
+++ b/core/modules/media_library/tests/modules/media_library_test/config/install/core.entity_form_display.node.basic_page.default.yml
@@ -44,6 +44,12 @@ content:
     settings: {  }
     third_party_settings: {  }
     region: content
+  field_empty_types_media:
+    type: media_library_widget
+    weight: 125
+    settings: {  }
+    third_party_settings: {  }
+    region: content
   promote:
     type: boolean_checkbox
     settings:
diff --git a/core/modules/media_library/tests/modules/media_library_test/config/install/core.entity_view_display.node.basic_page.default.yml b/core/modules/media_library/tests/modules/media_library_test/config/install/core.entity_view_display.node.basic_page.default.yml
index 17fb52793fcab06781264d8dc3227939866a67c6..897c176eb0fea9312e494924189dde745bdf8f1d 100644
--- a/core/modules/media_library/tests/modules/media_library_test/config/install/core.entity_view_display.node.basic_page.default.yml
+++ b/core/modules/media_library/tests/modules/media_library_test/config/install/core.entity_view_display.node.basic_page.default.yml
@@ -49,6 +49,15 @@ content:
       link: false
     third_party_settings: {  }
     region: content
+  field_empty_types_media:
+    type: entity_reference_entity_view
+    weight: 103
+    label: above
+    settings:
+      view_mode: default
+      link: false
+    third_party_settings: {  }
+    region: content
   links:
     weight: 100
     settings: {  }
diff --git a/core/modules/media_library/tests/modules/media_library_test/config/install/field.field.node.basic_page.field_empty_types_media.yml b/core/modules/media_library/tests/modules/media_library_test/config/install/field.field.node.basic_page.field_empty_types_media.yml
new file mode 100644
index 0000000000000000000000000000000000000000..e4663cd52971b18e3b95dea938c8297313fd2f23
--- /dev/null
+++ b/core/modules/media_library/tests/modules/media_library_test/config/install/field.field.node.basic_page.field_empty_types_media.yml
@@ -0,0 +1,27 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.node.field_empty_types_media
+    - media.type.type_one
+    - media.type.type_two
+    - node.type.basic_page
+id: node.basic_page.field_empty_types_media
+field_name: field_empty_types_media
+entity_type: node
+bundle: basic_page
+label: 'Empty types media'
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  handler: 'default:media'
+  handler_settings:
+    target_bundles: null
+    sort:
+      field: _none
+    auto_create: false
+    auto_create_bundle: file
+field_type: entity_reference
diff --git a/core/modules/media_library/tests/modules/media_library_test/config/install/field.storage.node.field_empty_types_media.yml b/core/modules/media_library/tests/modules/media_library_test/config/install/field.storage.node.field_empty_types_media.yml
new file mode 100644
index 0000000000000000000000000000000000000000..1b9af61157aaf61b6bf93e3e3fca03173320b605
--- /dev/null
+++ b/core/modules/media_library/tests/modules/media_library_test/config/install/field.storage.node.field_empty_types_media.yml
@@ -0,0 +1,19 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - media
+    - node
+id: node.field_empty_types_media
+field_name: field_empty_types_media
+entity_type: node
+type: entity_reference
+settings:
+  target_type: media
+module: core
+locked: false
+cardinality: -1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/core/modules/media_library/tests/src/FunctionalJavascript/MediaLibraryTest.php b/core/modules/media_library/tests/src/FunctionalJavascript/MediaLibraryTest.php
index 1bec4b4cc08cc588d688e3bcce62581d1357960a..6b14884b4ee1bbbc484fb81c8b5c4d2f097f7b56 100644
--- a/core/modules/media_library/tests/src/FunctionalJavascript/MediaLibraryTest.php
+++ b/core/modules/media_library/tests/src/FunctionalJavascript/MediaLibraryTest.php
@@ -201,6 +201,7 @@ public function testWidget() {
     $assert_session->pageTextContains('Unlimited media');
     $assert_session->pageTextContains('Twin media');
     $assert_session->pageTextContains('Single media type');
+    $assert_session->pageTextContains('Empty types media');
 
     // Assert generic media library elements.
     $assert_session->elementExists('css', '.media-library-open-button[href*="field_unlimited_media"]')->click();
@@ -215,10 +216,23 @@ public function testWidget() {
     $assert_session->elementExists('css', '.media-library-open-button[href*="field_unlimited_media"]')->click();
     $assert_session->assertWaitOnAjaxRequest();
     $menu = $assert_session->elementExists('css', '.media-library-menu');
-    $assert_session->elementExists('named', ['link', 'Type One'], $menu);
-    $assert_session->elementNotExists('named', ['link', 'Type Two'], $menu);
-    $assert_session->elementExists('named', ['link', 'Type Three'], $menu);
-    $assert_session->elementNotExists('named', ['link', 'Type Four'], $menu);
+    $this->assertTrue($menu->hasLink('Type One'));
+    $this->assertFalse($menu->hasLink('Type Two'));
+    $this->assertTrue($menu->hasLink('Type Three'));
+    $this->assertFalse($menu->hasLink('Type Four'));
+    $page->find('css', '.ui-dialog-titlebar-close')->click();
+    $assert_session->assertWaitOnAjaxRequest();
+
+    // Assert that the media type menu is available when no types are configured
+    // for the field. All types should be available in this case.
+    $assert_session->elementExists('css', '.media-library-open-button[href*="field_empty_types_media"]')->click();
+    $assert_session->assertWaitOnAjaxRequest();
+    $menu = $assert_session->elementExists('css', '.media-library-menu');
+    $this->assertTrue($menu->hasLink('Type One'));
+    $this->assertTrue($menu->hasLink('Type Two'));
+    $this->assertTrue($menu->hasLink('Type Three'));
+    $this->assertTrue($menu->hasLink('Type Four'));
+    $this->assertTrue($menu->hasLink('Type Five'));
     $page->find('css', '.ui-dialog-titlebar-close')->click();
     $assert_session->assertWaitOnAjaxRequest();