diff --git a/includes/common.inc b/includes/common.inc
index a065b1c1c04693ffd3d329a93dda2d3759e4c58b..f67839cdbe7a9e1fe10472b6073f480c1927a81e 100644
--- a/includes/common.inc
+++ b/includes/common.inc
@@ -6073,10 +6073,15 @@ function drupal_flush_all_caches() {
   registry_rebuild();
   drupal_clear_css_cache();
   drupal_clear_js_cache();
+
+  // Rebuild the theme data. Note that the module data is rebuilt above, as
+  // part of registry_rebuild().
   system_rebuild_theme_data();
   drupal_theme_rebuild();
+
   menu_rebuild();
   node_types_rebuild();
+
   // Don't clear cache_form - in-progress form submissions may break.
   // Ordered so clearing the page cache will always be the last action.
   $core = array('cache', 'cache_filter', 'cache_bootstrap', 'cache_page');
diff --git a/includes/install.core.inc b/includes/install.core.inc
index 7e0b91c0c13bd8a675c65ad3cff1dbb52438228d..04b2fda29cd39e80a107ad625ea83de78cfe377f 100644
--- a/includes/install.core.inc
+++ b/includes/install.core.inc
@@ -1479,11 +1479,6 @@ function install_finished(&$install_state) {
   $output = '<p>' . st('Congratulations, you installed @drupal!', array('@drupal' => drupal_install_profile_distribution_name())) . '</p>';
   $output .= '<p>' . (isset($messages['error']) ? st('Review the messages above before visiting <a href="@url">your new site</a>.', array('@url' => url(''))) : st('<a href="@url">Visit your new site</a>.', array('@url' => url('')))) . '</p>';
 
-  // Rebuild the module and theme data, in case any newly-installed modules
-  // need to modify it via hook_system_info_alter().
-  system_rebuild_module_data();
-  system_rebuild_theme_data();
-
   // Flush all caches to ensure that any full bootstraps during the installer
   // do not leave stale cached data, and that any content types or other items
   // registered by the install profile are registered correctly.