diff --git a/core/modules/media/media.info.yml b/core/modules/media/media.info.yml
index 07167d6..e69f14a 100644
--- a/core/modules/media/media.info.yml
+++ b/core/modules/media/media.info.yml
@@ -1,9 +1,10 @@
 name: Media
 description: 'Create reusable media.'
 type: module
-package: Core (Experimental)
+package: Core
 version: VERSION
 core: 8.x
+hidden: true
 dependencies:
   - file
   - image
diff --git a/core/modules/media/tests/src/Functional/MediaInstallTest.php b/core/modules/media/tests/src/Functional/MediaInstallTest.php
index 1d7fcbb..613a9a2 100644
--- a/core/modules/media/tests/src/Functional/MediaInstallTest.php
+++ b/core/modules/media/tests/src/Functional/MediaInstallTest.php
@@ -29,14 +29,19 @@ protected function setUp() {
    */
   public function testReinstallAfterUninstall() {
     $page = $this->getSession()->getPage();
+    $assert_session = $this->assertSession();
+
+    // Uninstall the media module.
     $this->container->get('module_installer')->uninstall(['media'], FALSE);
+
+    // Install the media module again, through a test module that depends on it.
+    // Note: We use a test module because in 8.4 the media module is hidden.
+    // Once it gets exposed again, this can be simplified.
     $this->drupalGet('/admin/modules');
-    $page->checkField('modules[media][enable]');
+    $page->checkField('modules[media_test_views][enable]');
     $page->pressButton('Install');
-    // @todo Remove this if-statement in https://www.drupal.org/node/2895059
-    if ($page->find('css', 'h1')->getText() == 'Are you sure you wish to enable experimental modules?') {
-      $page->pressButton('Continue');
-    }
+    $assert_session->pageTextContains('Some required modules must be enabled');
+    $page->pressButton('Continue');
     $this->assertSession()->pageTextNotContains('could not be moved/copied because a file by that name already exists in the destination directory');
   }
 
