diff --git a/core/core.services.yml b/core/core.services.yml
index afccb31..0124117 100644
--- a/core/core.services.yml
+++ b/core/core.services.yml
@@ -678,6 +678,11 @@ services:
     arguments: ['@settings']
     tags:
       - { name: http_middleware, priority: 300 }
+  http_middleware.request_stack_push:
+    class: Drupal\Core\StackMiddleware\RequestStackPush
+    arguments: ['@request_stack']
+    tags:
+      - { name: http_middleware, priority: 250 }
   http_middleware.kernel_pre_handle:
     class: Drupal\Core\StackMiddleware\KernelPreHandle
     arguments: ['@kernel']
diff --git a/core/lib/Drupal/Core/DrupalKernelInterface.php b/core/lib/Drupal/Core/DrupalKernelInterface.php
index fea2d98..7f8218d 100644
--- a/core/lib/Drupal/Core/DrupalKernelInterface.php
+++ b/core/lib/Drupal/Core/DrupalKernelInterface.php
@@ -145,4 +145,5 @@ public function preHandle(Request $request);
    */
   public function loadLegacyIncludes();
 
+
 }
diff --git a/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php b/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php
index 46f7833..bc43206 100644
--- a/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php
+++ b/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php
@@ -50,7 +50,7 @@ public function __construct(HttpKernelInterface $http_kernel, DrupalKernelInterf
   public function handle(Request $request, $type = self::MASTER_REQUEST, $catch = TRUE) {
     $this->drupalKernel->preHandle($request);
 
-    return $this->httpKernel->handle($request, $type, $catch);
+    $result = $this->httpKernel->handle($request, $type, $catch);
   }
 
 }
diff --git a/core/lib/Drupal/Core/StackMiddleware/RequestStackPush.php b/core/lib/Drupal/Core/StackMiddleware/RequestStackPush.php
new file mode 100644
index 0000000..62b7b46
--- /dev/null
+++ b/core/lib/Drupal/Core/StackMiddleware/RequestStackPush.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\Core\StackMiddleware\RequestStackPush.
+ */
+
+namespace Drupal\Core\StackMiddleware;
+
+use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\RequestStack;
+use Symfony\Component\HttpKernel\HttpKernelInterface;
+
+class RequestStackPush implements HttpKernelInterface {
+
+  /**
+   * The wrapped HTTP kernel.
+   *
+   * @var \Symfony\Component\HttpKernel\HttpKernelInterface
+   */
+  protected $app;
+
+  /**
+   * The request stack.
+   *
+   * @var \Symfony\Component\HttpFoundation\RequestStack
+   */
+  protected $requestStack;
+
+  /**
+   * Creates a new RequestStackPush instance.
+   *
+   * @param \Symfony\Component\HttpKernel\HttpKernelInterface $app
+   *   The wrapped HTTP kernel.
+   * @param \Symfony\Component\HttpFoundation\RequestStack $request_stack
+   *   The request stack.
+   */
+  public function __construct(HttpKernelInterface $app, RequestStack $request_stack) {
+    $this->app = $app;
+    $this->requestStack = $request_stack;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function handle(Request $request, $type = self::MASTER_REQUEST, $catch = true) {
+    $this->requestStack->push($request);
+    $result = $this->app->handle($request);
+    $this->requestStack->pop();
+
+    return $result;
+  }
+
+
+}
