Index: modules/system/system.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.module,v
retrieving revision 1.876
diff -u -p -r1.876 system.module
--- modules/system/system.module	13 Jan 2010 23:03:31 -0000	1.876
+++ modules/system/system.module	14 Jan 2010 20:15:02 -0000
@@ -2140,15 +2140,13 @@ function _system_rebuild_module_data() {
   // Find modules
   $modules = drupal_system_listing('/\.module$/', 'modules', 'name', 0);
 
-  // Include the install profile in modules that are loaded.
-  $profile = drupal_get_profile();
-  $modules[$profile] = new stdClass;
-  $modules[$profile]->name = $profile;
-  $modules[$profile]->uri = 'profiles/' . $profile . '/' . $profile . '.profile';
-  $modules[$profile]->filename = $profile . '.profile';
-
-  // Install profile hooks are always executed last.
-  $modules[$profile]->weight = 1000;
+  // Add install profiles.
+  $profiles = drupal_system_listing('/\.profile$/', 'profiles', 'name', 0);
+  foreach ($profiles as $key => $profile) {
+    // Install profile hooks are always executed last.
+    $profile->weight = 1000;
+    $modules[$key] = $profile;
+  }
 
   // Set defaults for module info.
   $defaults = array(
@@ -2187,6 +2185,7 @@ function _system_rebuild_module_data() {
   }
 
   // The install profile is required.
+  $profile = drupal_get_profile();
   $modules[$profile]->info['required'] = TRUE;
 
   return $modules;
