diff --git a/core/modules/toolbar/lib/Drupal/toolbar/Controller/ToolbarController.php b/core/modules/toolbar/lib/Drupal/toolbar/Controller/ToolbarController.php
new file mode 100644
index 0000000..d5fc878
--- /dev/null
+++ b/core/modules/toolbar/lib/Drupal/toolbar/Controller/ToolbarController.php
@@ -0,0 +1,41 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\toolbar\Controller\ToolbarController.
+ */
+
+namespace Drupal\toolbar\Controller;
+
+use Drupal\Core\Access\AccessInterface;
+use Drupal\Core\Controller\ControllerBase;
+use Symfony\Component\HttpFoundation\JsonResponse;
+use Symfony\Component\HttpFoundation\Request;
+
+/**
+ * Defines a controller for the toolbar module.
+ */
+class ToolbarController extends ControllerBase {
+
+  /**
+   * Returns the rendered subtree of each top-level toolbar link.
+   *
+   * @return \Symfony\Component\HttpFoundation\JsonResponse
+   */
+  public function subtreesJsonp() {
+    _toolbar_initialize_page_cache();
+    $subtrees = toolbar_get_rendered_subtrees();
+    $response = new JsonResponse($subtrees);
+    $response->setCallback('Drupal.toolbar.setSubtrees.resolve');
+    return $response;
+  }
+
+  /**
+   * Checks access for the subtree controller.
+   */
+  public function checkSubTreeAccess(Request $request) {
+    $hash = $request->get('hash');
+    return ($this->currentUser()->hasPermission('access toolbar') && ($hash == _toolbar_get_subtrees_hash())) ? AccessInterface::ALLOW : AccessInterface::DENY;
+  }
+
+}
diff --git a/core/modules/toolbar/lib/Drupal/toolbar/Routing/ToolbarController.php b/core/modules/toolbar/lib/Drupal/toolbar/Routing/ToolbarController.php
deleted file mode 100644
index 3a7eb3c..0000000
--- a/core/modules/toolbar/lib/Drupal/toolbar/Routing/ToolbarController.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-/**
- * @file
- * Contains \Drupal\toolbar\Routing\ToolbarController.
- */
-
-namespace Drupal\toolbar\Routing;
-
-use Drupal\Core\Access\AccessInterface;
-use Drupal\Core\Controller\ControllerBase;
-use Symfony\Component\HttpFoundation\JsonResponse;
-use Symfony\Component\HttpFoundation\Request;
-
-/**
- * Defines a controller for the toolbar module.
- */
-class ToolbarController extends ControllerBase {
-
-  /**
-   * Returns the rendered subtree of each top-level toolbar link.
-   *
-   * @return \Symfony\Component\HttpFoundation\JsonResponse
-   */
-  public function subtreesJsonp() {
-    _toolbar_initialize_page_cache();
-    $subtrees = toolbar_get_rendered_subtrees();
-    $response = new JsonResponse($subtrees);
-    $response->setCallback('Drupal.toolbar.setSubtrees.resolve');
-    return $response;
-  }
-
-  /**
-   * Checks access for the subtree controller.
-   */
-  public function checkSubTreeAccess(Request $request) {
-    $hash = $request->get('hash');
-    return ($this->currentUser()->hasPermission('access toolbar') && ($hash == _toolbar_get_subtrees_hash())) ? AccessInterface::ALLOW : AccessInterface::DENY;
-  }
-
-}
diff --git a/core/modules/toolbar/toolbar.routing.yml b/core/modules/toolbar/toolbar.routing.yml
index a4aabb1..2e1e4cd 100644
--- a/core/modules/toolbar/toolbar.routing.yml
+++ b/core/modules/toolbar/toolbar.routing.yml
@@ -1,6 +1,6 @@
 toolbar.subtrees:
   path: '/toolbar/subtrees/{hash}'
   defaults:
-    _controller: '\Drupal\toolbar\Routing\ToolbarController::subtreesJsonp'
+    _controller: '\Drupal\toolbar\Controller\ToolbarController::subtreesJsonp'
   requirements:
     _custom_access: '\Drupal\toolbar\Routing\ToolbarController::checkSubTreeAccess'
