diff --git a/core/lib/Drupal/Core/CoreBundle.php b/core/lib/Drupal/Core/CoreBundle.php
index 3f91b32..c8783be 100644
--- a/core/lib/Drupal/Core/CoreBundle.php
+++ b/core/lib/Drupal/Core/CoreBundle.php
@@ -72,10 +72,6 @@ public function build(ContainerBuilder $container) {
       ->register('keyvalue.database', 'Drupal\Core\KeyValueStore\KeyValueDatabaseFactory')
       ->addArgument(new Reference('database'));
 
-    $container->register('path.alias_manager', 'Drupal\Core\Path\AliasManager')
-      ->addArgument(new Reference('database'))
-      ->addArgument(new Reference('keyvalue'));
-
     $container->register('http_client_simpletest_subscriber', 'Drupal\Core\Http\Plugin\SimpletestHttpRequestSubscriber');
     $container->register('http_default_client', 'Guzzle\Http\Client')
       ->addArgument(NULL)
@@ -145,14 +141,6 @@ public function build(ContainerBuilder $container) {
       ->setFactoryMethod('get')
       ->addArgument('path');
 
-    $container->register('path.alias_manager.cached', 'Drupal\Core\CacheDecorator\AliasManagerCacheDecorator')
-      ->addArgument(new Reference('path.alias_manager'))
-      ->addArgument(new Reference('cache.path'));
-
-    $container->register('path.crud', 'Drupal\Core\Path\Path')
-      ->addArgument(new Reference('database'))
-      ->addArgument(new Reference('path.alias_manager'));
-
     // Add password hashing service. The argument to PhpassHashedPassword
     // constructor is the log2 number of iterations for password stretching.
     // This should increase by 1 every Drupal version in order to counteract
@@ -201,9 +189,6 @@ public function build(ContainerBuilder $container) {
       ->addTag('access_check');
     $container->register('maintenance_mode_subscriber', 'Drupal\Core\EventSubscriber\MaintenanceModeSubscriber')
       ->addTag('event_subscriber');
-    $container->register('path_subscriber', 'Drupal\Core\EventSubscriber\PathSubscriber')
-      ->addArgument(new Reference('path.alias_manager.cached'))
-      ->addTag('event_subscriber');
     $container->register('legacy_request_subscriber', 'Drupal\Core\EventSubscriber\LegacyRequestSubscriber')
       ->addTag('event_subscriber');
     $container->register('legacy_controller_subscriber', 'Drupal\Core\EventSubscriber\LegacyControllerSubscriber')
diff --git a/core/lib/Drupal/Core/DrupalKernel.php b/core/lib/Drupal/Core/DrupalKernel.php
index b011271..556843c 100644
--- a/core/lib/Drupal/Core/DrupalKernel.php
+++ b/core/lib/Drupal/Core/DrupalKernel.php
@@ -10,6 +10,7 @@
 use Drupal\Component\PhpStorage\PhpStorageFactory;
 use Drupal\Core\Config\BootstrapConfigStorageFactory;
 use Drupal\Core\CoreBundle;
+use Drupal\Core\Path\PathBundle;
 use Drupal\Core\DependencyInjection\ContainerBuilder;
 use Symfony\Component\ClassLoader\UniversalClassLoader;
 use Symfony\Component\Config\Loader\LoaderInterface;
@@ -159,8 +160,9 @@ public function registerBundles() {
     $this->configStorage = BootstrapConfigStorageFactory::get();
     $bundles = array(
       new CoreBundle(),
+      new PathBundle(),
     );
-    $this->bundleClasses = array('Drupal\Core\CoreBundle');
+    $this->bundleClasses = array('Drupal\Core\CoreBundle', 'Drupal\Core\Path\PathBundle');
 
     // Ensure we know what modules are enabled and that their namespaces are
     // registered.
diff --git a/core/lib/Drupal/Core/Path/PathBundle.php b/core/lib/Drupal/Core/Path/PathBundle.php
new file mode 100644
index 0000000..56a60c3
--- /dev/null
+++ b/core/lib/Drupal/Core/Path/PathBundle.php
@@ -0,0 +1,44 @@
+<?php
+
+/**
+ * @file
+ * Definition of Drupal\Core\Path\PathBundle.
+ */
+
+namespace Drupal\Core\Path;
+
+use Symfony\Component\DependencyInjection\ContainerBuilder;
+use Symfony\Component\DependencyInjection\ContainerInterface;
+use Symfony\Component\DependencyInjection\Reference;
+use Symfony\Component\HttpKernel\Bundle\Bundle;
+
+/**
+ * Bundle class for the path subsystem.
+ */
+class PathBundle extends Bundle {
+
+  /**
+   * Implements \Symfony\Component\HttpKernel\Bundle\BundleInterface::build().
+   */
+  public function build(ContainerBuilder $container) {
+    $container->register('path.alias_manager', 'Drupal\Core\Path\AliasManager')
+      ->addArgument(new Reference('database'))
+      ->addArgument(new Reference('keyvalue'));
+
+    $container->register('path.alias_manager.cached', 'Drupal\Core\CacheDecorator\AliasManagerCacheDecorator')
+      ->addArgument(new Reference('path.alias_manager'))
+      ->addArgument(new Reference('cache.path'));
+
+    $container->register('path.crud', 'Drupal\Core\Path\Path')
+      ->addArgument(new Reference('database'))
+      ->addArgument(new Reference('path.alias_manager'));
+
+    $container->register('path_subscriber', 'Drupal\Core\EventSubscriber\PathSubscriber')
+      ->addArgument(new Reference('path.alias_manager.cached'))
+      ->addTag('event_subscriber');
+  }
+
+  public static function aliasManager() {
+    return drupal_container()->get('path.alias_manager');
+  }
+}
diff --git a/core/modules/path/path.admin.inc b/core/modules/path/path.admin.inc
index 0535454..06ea2c5 100644
--- a/core/modules/path/path.admin.inc
+++ b/core/modules/path/path.admin.inc
@@ -1,5 +1,7 @@
 <?php
 
+use Drupal\Core\Path\PathBundle;
+
 /**
  * @file
  * Administrative page callbacks for the path module.
@@ -75,7 +77,7 @@ function path_admin_overview($keys = NULL) {
 
     // If the system path maps to a different URL alias, highlight this table
     // row to let the user know of old aliases.
-    if ($data->alias != drupal_container()->get('path.alias_manager')->getPathAlias($data->source, $data->langcode)) {
+    if ($data->alias != PathBundle::aliasManager()->getPathAlias($data->source, $data->langcode)) {
       $row['class'] = array('warning');
     }
 
