diff --git a/includes/bootstrap.inc b/includes/bootstrap.inc
index 3369b656b..5d99d1eef 100644
--- a/includes/bootstrap.inc
+++ b/includes/bootstrap.inc
@@ -2535,12 +2535,6 @@ function drupal_bootstrap($phase = NULL, $new_phase = TRUE) {
     while ($phases && $phase > $stored_phase && $final_phase > $stored_phase) {
       $current_phase = array_shift($phases);
 
-      // This function is re-entrant. Only update the completed phase when the
-      // current call actually resulted in a progress in the bootstrap process.
-      if ($current_phase > $stored_phase) {
-        $stored_phase = $current_phase;
-      }
-
       switch ($current_phase) {
         case DRUPAL_BOOTSTRAP_CONFIGURATION:
           _drupal_bootstrap_configuration();
@@ -2576,6 +2570,12 @@ function drupal_bootstrap($phase = NULL, $new_phase = TRUE) {
           _drupal_bootstrap_full();
           break;
       }
+
+      // This function is re-entrant. Only update the completed phase when the
+      // current call actually resulted in a progress in the bootstrap process.
+      if ($current_phase > $stored_phase) {
+        $stored_phase = $current_phase;
+      }
     }
   }
   return $stored_phase;
diff --git a/includes/module.inc b/includes/module.inc
index 4c2b3fbee..42ae456c3 100644
--- a/includes/module.inc
+++ b/includes/module.inc
@@ -852,7 +852,7 @@ function module_hook_info() {
   // case common.inc, subsystems, and modules are not loaded yet, so it does not
   // make sense to support hook groups resp. lazy-loaded include files prior to
   // full bootstrap.
-  if (drupal_bootstrap(NULL, FALSE) != DRUPAL_BOOTSTRAP_FULL) {
+  if (drupal_get_bootstrap_phase() != DRUPAL_BOOTSTRAP_FULL) {
     return array();
   }
   $hook_info = &drupal_static(__FUNCTION__);
