diff --git a/modules/block/block.info b/modules/block/block.info
index a74f5d7213e301cec8dd24282fa3904bb041998f..528bf285ea2c60348a629c17310e0016dd38e0f6 100644
--- a/modules/block/block.info
+++ b/modules/block/block.info
@@ -8,3 +8,4 @@ core = 7.x
 files[] = block.module
 files[] = block.admin.inc
 files[] = block.install
+hidden = TRUE
diff --git a/modules/filter/filter.info b/modules/filter/filter.info
index 40a5d97e5b6b7a8e781869f0e59610404b96add5..4a3b22b8313441321e18aa2955d53ad3396a15bb 100644
--- a/modules/filter/filter.info
+++ b/modules/filter/filter.info
@@ -8,3 +8,4 @@ files[] = filter.module
 files[] = filter.admin.inc
 files[] = filter.pages.inc
 files[] = filter.install
+hidden = TRUE
diff --git a/modules/node/node.info b/modules/node/node.info
index 477a56454d999557939c85d918f694215bd0332b..443e5d2c061a36741b728f5724b9cceaf05fc59d 100644
--- a/modules/node/node.info
+++ b/modules/node/node.info
@@ -9,3 +9,4 @@ files[] = content_types.inc
 files[] = node.admin.inc
 files[] = node.pages.inc
 files[] = node.install
+hidden = TRUE
diff --git a/modules/system/system.admin.inc b/modules/system/system.admin.inc
index 1d37f6b66671a196ac880134ad472663a169af29..ae11a4557b79ea8776474b7ce77b7ed1ffabd3ea 100644
--- a/modules/system/system.admin.inc
+++ b/modules/system/system.admin.inc
@@ -637,16 +637,9 @@ function system_modules($form_state = array()) {
   // Used when checking if module implements a help page.
   $help_arg = module_exists('help') ? drupal_help_arg() : FALSE;
 
-  // The list of required modules.
-  $modules_required = drupal_required_modules();
-
   // Iterate through each of the modules.
   foreach ($files as $filename => $module) {
     $extra = array();
-    // If the module is requried, set it to be so.
-    if (in_array($filename, $modules_required)) {
-      continue;
-    }
     $extra['enabled'] = (bool) $module->status;
     // If this module has dependencies, add them to the array.
     if (is_array($module->info['dependencies'])) {
diff --git a/modules/system/system.info b/modules/system/system.info
index bbd5f7b18beba874699698b68f0c2663c5d69aed..35fe341820cf8220f835a61d7033f19fee31be86 100644
--- a/modules/system/system.info
+++ b/modules/system/system.info
@@ -8,3 +8,4 @@ files[] = system.module
 files[] = system.admin.inc
 files[] = image.gd.inc
 files[] = system.install
+hidden = TRUE
diff --git a/modules/system/system.test b/modules/system/system.test
index dc36470e44593f36f494d5ea7def63d23e4690dc..e48ba16ac793c7d479c6ee7991917f7a90607e7e 100644
--- a/modules/system/system.test
+++ b/modules/system/system.test
@@ -10,7 +10,7 @@ class EnableDisableCoreTestCase extends DrupalWebTestCase {
   function getInfo() {
     return array(
       'name' => t('Module list functionality'),
-      'description' => t('Enable/disable core module and confirm table creation/deletion. Enable module without dependency enabled.'),
+      'description' => t('Enable/disable core module and confirm table creation/deletion. Enable module without dependency enabled. Attempt disabling of required modules.'),
       'group' => t('System')
     );
   }
@@ -93,9 +93,9 @@ class EnableDisableCoreTestCase extends DrupalWebTestCase {
    */
   function testDisableRequired() {
     $required_modules = drupal_required_modules();
+    $this->drupalGet('admin/build/modules');
     foreach($required_modules as $module) {
       // Check to make sure the checkbox for required module is not found.
-      $this->drupalGet('admin/build/modules');
       $this->assertNoFieldByName('modules[Core][' . $module . '][enable]');
     }
   }
diff --git a/modules/user/user.info b/modules/user/user.info
index a0687d2506fb34e93a0dbef7920e6af6437cf05d..837ff733e2c19882c23504d4b311f634ab0ebaf2 100644
--- a/modules/user/user.info
+++ b/modules/user/user.info
@@ -8,3 +8,4 @@ files[] = user.module
 files[] = user.admin.inc
 files[] = user.pages.inc
 files[] = user.install
+hidden = TRUE