diff -u b/core/includes/bootstrap.inc b/core/includes/bootstrap.inc --- b/core/includes/bootstrap.inc +++ b/core/includes/bootstrap.inc @@ -1090,6 +1090,7 @@ */ function bootstrap_invoke_all($hook) { foreach (module_list('bootstrap') as $module) { + drupal_load('module', $module); module_invoke($module, $hook); } } diff -u b/core/includes/module.inc b/core/includes/module.inc --- b/core/includes/module.inc +++ b/core/includes/module.inc @@ -30,7 +30,7 @@ static $has_run = FALSE; if ($reset) { - $has_run = FALSE; + $has_run = !$bootstrap; } // Unless $boostrap is NULL, load the requested set of modules. elseif (isset($bootstrap) && !$has_run) { @@ -149,7 +149,7 @@ // drupal_get_filename() static cache for bootstrap modules only. // The rest is stored separately to keep the bootstrap module cache small. foreach ($lists['bootstrap'] as $module => $filename) { - _system_list_warm('module', $module, $filename, TRUE); + _system_list_warm('module', $module, $filename); } } else {