diff --git a/core/includes/bootstrap.inc b/core/includes/bootstrap.inc
index ab06260..dc14db3 100644
--- a/core/includes/bootstrap.inc
+++ b/core/includes/bootstrap.inc
@@ -105,44 +105,49 @@ const WATCHDOG_DEBUG = 7;
  */
 
 /**
- * First bootstrap phase: initialize configuration.
+ * First bootstrap phase: initialize auotloader.
  */
-const DRUPAL_BOOTSTRAP_CONFIGURATION = 0;
+const DRUPAL_BOOTSTRAP_AUTOLOADER = 0;
 
 /**
- * Second bootstrap phase: try to serve a cached page.
+ * Second bootstrap phase: initialize configuration.
  */
-const DRUPAL_BOOTSTRAP_PAGE_CACHE = 1;
+const DRUPAL_BOOTSTRAP_CONFIGURATION = 1;
 
 /**
- * Third bootstrap phase: initialize database layer.
+ * Third bootstrap phase: try to serve a cached page.
  */
-const DRUPAL_BOOTSTRAP_DATABASE = 2;
+const DRUPAL_BOOTSTRAP_PAGE_CACHE = 2;
 
 /**
- * Fourth bootstrap phase: initialize the variable system.
+ * Fourth bootstrap phase: initialize database layer.
  */
-const DRUPAL_BOOTSTRAP_VARIABLES = 3;
+const DRUPAL_BOOTSTRAP_DATABASE = 3;
 
 /**
- * Fifth bootstrap phase: initialize session handling.
+ * Fifth bootstrap phase: initialize the variable system.
  */
-const DRUPAL_BOOTSTRAP_SESSION = 4;
+const DRUPAL_BOOTSTRAP_VARIABLES = 4;
 
 /**
- * Sixth bootstrap phase: set up the page header.
+ * Sixth bootstrap phase: initialize session handling.
  */
-const DRUPAL_BOOTSTRAP_PAGE_HEADER = 5;
+const DRUPAL_BOOTSTRAP_SESSION = 5;
 
 /**
- * Seventh bootstrap phase: find out language of the page.
+ * Seventh bootstrap phase: set up the page header.
  */
-const DRUPAL_BOOTSTRAP_LANGUAGE = 6;
+const DRUPAL_BOOTSTRAP_PAGE_HEADER = 6;
+
+/**
+ * Eighth bootstrap phase: find out language of the page.
+ */
+const DRUPAL_BOOTSTRAP_LANGUAGE = 7;
 
 /**
  * Final bootstrap phase: Drupal is fully loaded; validate and fix input data.
  */
-const DRUPAL_BOOTSTRAP_FULL = 7;
+const DRUPAL_BOOTSTRAP_FULL = 8;
 
 /**
  * Role ID for anonymous users; should match what's in the "role" table.
@@ -2147,6 +2152,7 @@ function drupal_anonymous_user() {
 function drupal_bootstrap($phase = NULL, $new_phase = TRUE) {
   // Not drupal_static(), because does not depend on any run-time information.
   static $phases = array(
+    DRUPAL_BOOTSTRAP_AUTOLOADER,
     DRUPAL_BOOTSTRAP_CONFIGURATION,
     DRUPAL_BOOTSTRAP_PAGE_CACHE,
     DRUPAL_BOOTSTRAP_DATABASE,
@@ -2181,6 +2187,10 @@ function drupal_bootstrap($phase = NULL, $new_phase = TRUE) {
       }
 
       switch ($current_phase) {
+        case DRUPAL_BOOTSTRAP_AUTOLOADER:
+          _drupal_bootstrap_autoloader();
+          break;
+        
         case DRUPAL_BOOTSTRAP_CONFIGURATION:
           _drupal_bootstrap_configuration();
           break;
@@ -2284,22 +2294,12 @@ function _drupal_exception_handler($exception) {
 }
 
 /**
- * Sets up the script environment and loads settings.php.
+ * Initialize the class autoloader and register core namespaces required for
+ * early bootstrap.
  */
-function _drupal_bootstrap_configuration() {
-  // Set the Drupal custom error handler.
-  set_error_handler('_drupal_error_handler');
-  set_exception_handler('_drupal_exception_handler');
-
-  drupal_environment_initialize();
-  // Start a page timer:
-  timer_start('page');
-  // Initialize the configuration, including variables from settings.php.
-  drupal_settings_initialize();
-
+function _drupal_bootstrap_autoloader() {
   // Include and activate the class loader.
   $loader = drupal_classloader();
-
   // Register explicit vendor namespaces.
   $loader->registerNamespaces(array(
     // All Symfony-borrowed code lives in /core/vendor/Symfony.
@@ -2318,6 +2318,22 @@ function _drupal_bootstrap_configuration() {
 }
 
 /**
+ * Sets up the script environment and loads settings.php.
+ */
+function _drupal_bootstrap_configuration() {
+  // Set the Drupal custom error handler.
+  set_error_handler('_drupal_error_handler');
+  set_exception_handler('_drupal_exception_handler');
+
+  drupal_environment_initialize();
+  // Start a page timer:
+  timer_start('page');
+  // Initialize the configuration, including variables from settings.php.
+  drupal_settings_initialize();
+
+}
+
+/**
  * Attempts to serve a page from the cache.
  */
 function _drupal_bootstrap_page_cache() {
