diff --git a/core/modules/system/tests/src/Functional/Module/RequiredTest.php b/core/modules/system/tests/src/Functional/Module/RequiredTest.php
deleted file mode 100644
index 00c7cbe703..0000000000
--- a/core/modules/system/tests/src/Functional/Module/RequiredTest.php
+++ /dev/null
@@ -1,32 +0,0 @@
-<?php
-
-namespace Drupal\Tests\system\Functional\Module;
-
-/**
- * Attempt disabling of required modules.
- *
- * @group Module
- */
-class RequiredTest extends ModuleTestBase {
-  /**
-   * Assert that core required modules cannot be disabled.
-   */
-  public function testDisableRequired() {
-    $module_info = system_get_info('module');
-    $this->drupalGet('admin/modules');
-    foreach ($module_info as $module => $info) {
-      // Check to make sure the checkbox for each required module is disabled
-      // and checked (or absent from the page if the module is also hidden).
-      if (!empty($info['required'])) {
-        $field_name = 'modules[' . $module . '][enable]';
-        if (empty($info['hidden'])) {
-          $this->assertFieldByXPath("//input[@name='$field_name' and @disabled='disabled' and @checked='checked']", '', format_string('Field @name was disabled and checked.', ['@name' => $field_name]));
-        }
-        else {
-          $this->assertNoFieldByName($field_name);
-        }
-      }
-    }
-  }
-
-}
diff --git a/core/modules/system/tests/src/Functional/Module/UninstallTest.php b/core/modules/system/tests/src/Functional/Module/UninstallTest.php
index 2b17b8fcf6..32a9517332 100644
--- a/core/modules/system/tests/src/Functional/Module/UninstallTest.php
+++ b/core/modules/system/tests/src/Functional/Module/UninstallTest.php
@@ -57,6 +57,17 @@ public function testUninstallPage() {
     $this->drupalGet('admin/modules/uninstall');
     $this->assertTitle(t('Uninstall') . ' | Drupal');
 
+    foreach (\Drupal::service('extension.list.module')->getAllInstalledInfo() as $module => $info) {
+      $field_name = "uninstall[$module]";
+      if (!empty($info['required'])) {
+        // A required module should not be listed on the uninstall page..
+        $this->assertSession()->fieldNotExists($field_name);
+      }
+      else {
+        $this->assertSession()->fieldExists($field_name);
+      }
+    }
+
     // Be sure labels are rendered properly.
     // @see regression https://www.drupal.org/node/2512106
     $this->assertRaw('<label for="edit-uninstall-node" class="module-name table-filter-text-source">Node</label>');
