diff --git a/includes/module.inc b/includes/module.inc
index fe2a980..78a56e2 100644
--- a/includes/module.inc
+++ b/includes/module.inc
@@ -448,10 +448,17 @@ function module_enable($module_list, $enable_dependencies = TRUE) {
       module_list(TRUE);
       module_implements('', FALSE, TRUE);
       _system_update_bootstrap_status();
+      // ------- PATCH FOR ISSUE 1311828 AND OTHERS ---------
+      // registry_update() is commented and moved down in this method
+      // because it breaks profile installation due to interactions
+      // with ctools and other modules - code assuming a schema exists
+      // prior to it being created.
+      //
       // Update the registry to include it.
-      registry_update();
+      // registry_update();
       // Refresh the schema to include it.
-      drupal_get_schema(NULL, TRUE);
+      // drupal_get_schema(NULL, TRUE);
+      // ------- END PATCH ----------------
       // Update the theme registry to include it.
       drupal_theme_rebuild();
       // Clear entity cache.
@@ -483,6 +490,11 @@ function module_enable($module_list, $enable_dependencies = TRUE) {
       // Enable the module.
       module_invoke($module, 'enable');
 
+      // ------- PATCH FOR ISSUE 1311828 AND OTHERS (SEE ABOVE IN THIS METHOD) ---------
+      registry_update();
+      drupal_get_schema(NULL, TRUE);
+      // ------- END PATCH ----------------
+
       // Record the fact that it was enabled.
       $modules_enabled[] = $module;
       watchdog('system', '%module module enabled.', array('%module' => $module), WATCHDOG_INFO);
