diff --git a/core/modules/media/tests/src/FunctionalJavascript/MediaUiJavascriptTest.php b/core/modules/media/tests/src/FunctionalJavascript/MediaUiJavascriptTest.php
index 4854a5f0e34b79b302cdc483da2c702ea8e7166a..0116305771e73a2324dde62971dbf3bac0b72601 100644
--- a/core/modules/media/tests/src/FunctionalJavascript/MediaUiJavascriptTest.php
+++ b/core/modules/media/tests/src/FunctionalJavascript/MediaUiJavascriptTest.php
@@ -63,6 +63,10 @@ public function testMediaTypes() {
     $this->assertJsCondition("jQuery('.form-item-source-configuration-test-config-value').length > 0;");
     $page->fillField('description', $description);
     $page->pressButton('Save');
+    // The wait prevents intermittent test failures.
+    $result = $assert_session->waitForLink('Add media type');
+    $this->assertNotEmpty($result);
+    $assert_session->addressEquals('admin/structure/media');
     $assert_session->pageTextContains('The media type ' . $name . ' has been added.');
     $this->drupalGet('admin/structure/media');
     $assert_session->pageTextContains($name);
@@ -134,6 +138,10 @@ public function testMediaTypes() {
     $page->uncheckField('options[status]');
     $page->checkField('options[queue_thumbnail_downloads]');
     $page->pressButton('Save');
+    // The wait prevents intermittent test failures.
+    $result = $assert_session->waitForLink('Add media type');
+    $this->assertNotEmpty($result);
+    $assert_session->addressEquals('admin/structure/media');
     $assert_session->pageTextContains("The media type $new_name has been updated.");
 
     // Test if edit worked and if new field values have been saved as expected.