diff --git a/src/EventSubscriber/MaintenanceModeSubscriber.php b/src/EventSubscriber/MaintenanceModeSubscriber.php
index 6515860..5886139 100644
--- a/src/EventSubscriber/MaintenanceModeSubscriber.php
+++ b/src/EventSubscriber/MaintenanceModeSubscriber.php
@@ -6,8 +6,10 @@ use Symfony\Component\EventDispatcher\EventSubscriberInterface;
 use Symfony\Component\HttpKernel\Event\GetResponseEvent;
 use Symfony\Component\HttpKernel\KernelEvents;
 use Symfony\Component\HttpFoundation\Response;
+use Symfony\Component\HttpFoundation\RedirectResponse;
 use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
 
+use Drupal\Core\Url;
 use Drupal\Core\Site\MaintenanceModeInterface;
 use Drupal\Core\Session\AccountInterface;
 use Drupal\Core\Config\ConfigFactoryInterface;
@@ -34,11 +36,11 @@ class MaintenanceModeSubscriber implements EventSubscriberInterface {
       $status_code = $this->config->get('maintenance200_status_code');
       $request = $event->getRequest();
       $routeMatch = RouteMatch::createFromRequest($request);
-      $response = $event->getResponse();
 
       if ($this->maintenanceMode->applies($routeMatch) && !$this->maintenanceMode->exempt($this->account)) {
-        $response->setStatusCode($status_code);
-        $event->setResponse($response);
+        $event->setResponse(
+          new RedirectResponse(Url::fromRoute('<front>')->toString(), $status_code)
+        );
       }
     }
   }
