diff --git a/core/includes/bootstrap.inc b/core/includes/bootstrap.inc
index fa1335b..c448d83 100644
--- a/core/includes/bootstrap.inc
+++ b/core/includes/bootstrap.inc
@@ -1,8 +1,7 @@
 <?php
 
 use Drupal\Core\Database\Database;
-use Symfony\Component\ClassLoader\UniversalClassLoader;
-use Symfony\Component\ClassLoader\ApcUniversalClassLoader;
+use Symfony\Component\ClassLoader\ClassLoader;
 use Drupal\Core\DependencyInjection\ContainerBuilder;
 use Symfony\Component\HttpFoundation\Request;
 use Drupal\Core\Language\Language;
@@ -2994,45 +2993,21 @@ function drupal_classloader() {
 
   if (!isset($loader)) {
     // Include the Symfony ClassLoader for loading PSR-0-compatible classes.
-    require_once DRUPAL_ROOT . '/core/vendor/Symfony/Component/ClassLoader/UniversalClassLoader.php';
-
-    // @todo Use a cleaner way than variable_get() to switch autoloaders.
-    switch (variable_get('autoloader_mode', 'default')) {
-      case 'apc':
-        if (function_exists('apc_store')) {
-          require_once DRUPAL_ROOT . '/core/vendor/Symfony/Component/ClassLoader/ApcUniversalClassLoader.php';
-          $loader = new ApcUniversalClassLoader('drupal.' . $GLOBALS['drupal_hash_salt']);
-          break;
-        }
-      // Fall through to the default loader if APC was not loaded, so that the
-      // site does not fail completely.
-      case 'dev':
-      case 'default':
-      default:
-        $loader = new UniversalClassLoader();
-        break;
-    }
-
-    // Register explicit PSR-0 vendor namespaces.
-    $loader->registerNamespaces(array(
+    require_once DRUPAL_ROOT . '/core/vendor/Symfony/Component/ClassLoader/ClassLoader.php';
+    $loader = new ClassLoader();
+
+    // Register PSR-0 namespaces.
+    $loader->addPrefixes(array(
+      // Register the Drupal Core and Component namespaces separately so that
+      // additional fallback checks are not required when finding classes for
+      // Drupal modules (Drupal\system, Drupal\taxonomy, etc).
+      'Drupal\Core' => DRUPAL_ROOT . '/core/lib',
+      'Drupal\Component' => DRUPAL_ROOT . '/core/lib',
       // All Symfony-borrowed code lives in /core/vendor/Symfony.
       'Symfony' => DRUPAL_ROOT . '/core/vendor',
-    ));
-    // Register PEAR-style vendor namespaces.
-    $loader->registerPrefixes(array(
       // All Twig-borrowed code lives in /core/vendor/Twig.
       'Twig' => DRUPAL_ROOT . '/core/vendor',
     ));
-    // Register the Drupal namespace for classes in core as a fallback.
-    // This allows to register additional namespaces within the Drupal namespace
-    // (e.g., for modules) and avoids an additional file_exists() on the Drupal
-    // core namespace, since the class loader can already determine the best
-    // namespace match based on a string comparison. It further allows modules
-    // to register/overload namespaces in Drupal core.
-    $loader->registerNamespaceFallbacks(array(
-      // All Drupal-namespaced code in core lives in /core/lib/Drupal.
-      'Drupal' => DRUPAL_ROOT . '/core/lib',
-    ));
 
     // Register the loader with PHP.
     $loader->register();
@@ -3050,7 +3025,7 @@ function drupal_classloader() {
  */
 function drupal_classloader_register($name, $path) {
   $loader = drupal_classloader();
-  $loader->registerNamespace('Drupal\\' . $name, DRUPAL_ROOT . '/' . $path . '/lib');
+  $loader->addPrefix('Drupal\\' . $name, DRUPAL_ROOT . '/' . $path . '/lib');
 }
 
 /**
