diff --git modules/simpletest/tests/system_test.module modules/simpletest/tests/system_test.module
index 583a5b7..76d483c 100644
--- modules/simpletest/tests/system_test.module
+++ modules/simpletest/tests/system_test.module
@@ -167,6 +167,10 @@ function system_test_modules_enabled($modules) {
 function system_test_modules_disabled($modules) {
   if (in_array('aggregator', $modules)) {
     drupal_set_message(t('hook_modules_disabled fired for aggregator'));
+    // Test whether it's still possible to invoke hooks for disabled modules.
+    if (module_hook('aggregator', 'menu') && module_invoke('aggregator', 'menu')) {
+      drupal_set_message('Hooks of disabled modules can be invoked.');
+    }
   }
 }
 
diff --git modules/system/system.test modules/system/system.test
index 2043544..50eb0c1 100644
--- modules/system/system.test
+++ modules/system/system.test
@@ -137,6 +137,10 @@ class EnableDisableTestCase extends ModuleTestCase {
     $this->assertTableCount('aggregator', TRUE);
     $this->assertLogMessage('system', "%module module disabled.", array('%module' => 'aggregator'), WATCHDOG_INFO);
 
+    // Verify that module hooks can still be used in hook_modules_disabled()
+    // implementations.
+    $this->assertText('Hooks of disabled modules can be invoked.');
+
     // Uninstall the module.
     $edit = array();
     $edit['uninstall[aggregator]'] = 'aggregator';
