Index: includes/bootstrap.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/bootstrap.inc,v
retrieving revision 1.35
diff -u -r1.35 bootstrap.inc
--- includes/bootstrap.inc	25 Nov 2004 06:14:59 -0000	1.35
+++ includes/bootstrap.inc	1 Dec 2004 04:09:32 -0000
@@ -402,11 +402,10 @@
   if (variable_get('dev_timer', 0)) {
     timer_start();
   }
-  bootstrap_invoke_all('init');
 
   if (variable_get('cache', 0)) {
     if ($cache = page_get_cache()) {
-
+      bootstrap_invoke_all('init');
       // Set default values:
       $date = gmdate('D, d M Y H:i:s', $cache->created) .' GMT';
       $etag = '"'. md5($date) .'"';
Index: includes/common.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/common.inc,v
retrieving revision 1.407
diff -u -r1.407 common.inc
--- includes/common.inc	28 Nov 2004 12:28:35 -0000	1.407
+++ includes/common.inc	1 Dec 2004 03:58:10 -0000
@@ -1793,8 +1793,8 @@
   $_GET['q'] = drupal_get_normal_path(variable_get('site_frontpage', 'node'));
 }
 
-// Load all enabled modules.
-module_load_all();
+// Initialize all enabled modules.
+module_init();
 
 if ($_REQUEST && !user_access('bypass input data check')) {
   if (!valid_input_data($_REQUEST)) {
Index: includes/module.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/module.inc,v
retrieving revision 1.62
diff -u -r1.62 module.inc
--- includes/module.inc	25 Nov 2004 06:14:59 -0000	1.62
+++ includes/module.inc	1 Dec 2004 03:57:36 -0000
@@ -7,6 +7,15 @@
  */
 
 /**
+ * Initialize all modules.
+ *
+ */
+function module_init() {
+  module_load_all();
+  module_invoke_all('init');
+}
+
+/**
  * Call a function repeatedly with each module in turn as an argument.
  */
 function module_iterate($function, $argument = '') {
