diff --git a/src/Controller/FacetBlockAjaxController.php b/src/Controller/FacetBlockAjaxController.php
index 6f67d803359e4e7c4249c1202501493aee4c870d..acb638a64a741115fbee10bce8834a0b5513c50d 100644
--- a/src/Controller/FacetBlockAjaxController.php
+++ b/src/Controller/FacetBlockAjaxController.php
@@ -10,12 +10,13 @@ use Drupal\Core\Block\Plugin\Block\Broken;
 use Drupal\Core\Controller\ControllerBase;
 use Drupal\Core\Path\CurrentPathStack;
 use Drupal\Core\PathProcessor\PathProcessorManager;
+use Drupal\Core\Http\RequestStack as DrupalRequestStack;
 use Drupal\Core\Render\RendererInterface;
 use Drupal\Core\Routing\CurrentRouteMatch;
 use Drupal\facets\Plugin\Block\FacetBlock;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 use Symfony\Component\HttpFoundation\Request;
-use Symfony\Component\HttpFoundation\RequestStack;
+use Symfony\Component\HttpFoundation\RequestStack as SymfonyRequestStack;
 use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
 use Symfony\Component\Routing\RouterInterface;
 
@@ -137,7 +138,15 @@ class FacetBlockAjaxController extends ControllerBase {
     }
 
     $new_request = Request::create($path);
-    $request_stack = new RequestStack();
+    // Support 9.3+
+    // @todo remove after 9.3 or greater is required.
+    if (class_exists(\Drupal\Core\Http\RequestStack::class)) {
+      $request_stack = new DrupalRequestStack();
+    }
+    // Legacy request stack.
+    else {
+      $request_stack = new SymfonyRequestStack();
+    }
     $processed = $this->pathProcessor->processInbound($path, $new_request);
 
     $this->currentPath->setPath($processed);