diff --git a/src/SubrequestsManager.php b/src/SubrequestsManager.php
index bd21d22..e5c9133 100644
--- a/src/SubrequestsManager.php
+++ b/src/SubrequestsManager.php
@@ -59,14 +59,17 @@ class SubrequestsManager {
      // Perform all the necessary replacements for the elements in the batch.
      $batch = $this->replacer->replaceBatch($batch, $_responses);
      $results = array_map(function (Subrequest $subrequest) use ($tree) {
+       $master_request = $tree->getMasterRequest();
        // Create a Symfony Request object based on the Subrequest.
        /** @var \Symfony\Component\HttpFoundation\Request $request */
        $request = $this->serializer->denormalize(
          $subrequest,
          Request::class,
          NULL,
-         ['master_request' => $tree->getMasterRequest()]
+         ['master_request' => $master_request]
        );
+       // Forward the Host header to place nice with decoupled routers.
+       $this->forwardHeader('host', $master_request, $request);
        $response = $this->httpKernel
          ->handle($request, HttpKernelInterface::MASTER_REQUEST);
        // Set the Content-ID header in the response.
@@ -84,4 +87,21 @@ class SubrequestsManager {
        : $this->processBatchesSequence($tree, $_sequence, $_responses);
   }
 
+  /**
+   * Forward the master request's header to the subrequest.
+   *
+   * @param string $name
+   *   The header name to forward.
+   * @param \Symfony\Component\HttpFoundation\Request $from
+   *   The request to copy headers from.
+   * @param \Symfony\Component\HttpFoundation\Request $to
+   *   The target request to copy headers to.
+   */
+  protected function forwardHeader($name, Request $from, Request $to) {
+    if (!$to->headers->get($name)) {
+      $master_header = $from->headers->get($name);
+      $to->headers->set($name, $master_header);
+    }
+  }
+
 }
