diff --git a/core/modules/big_pipe/big_pipe.module b/core/modules/big_pipe/big_pipe.module
index fa0518ad3d1fff9db8a44f25a089e1a04fb58f01..18bbbb22cda89c9243463cf3fd2fc97c96ef4857 100644
--- a/core/modules/big_pipe/big_pipe.module
+++ b/core/modules/big_pipe/big_pipe.module
@@ -58,7 +58,8 @@ function big_pipe_page_attachments(array &$page) {
           '#noscript' => TRUE,
           '#attributes' => [
             'http-equiv' => 'Refresh',
-            'content' => '0; URL=' . Url::fromRoute('big_pipe.nojs', [], ['query' => \Drupal::service('redirect.destination')->getAsArray()])->toString(),
+            // @todo: Switch to Url::fromRoute() once https://www.drupal.org/node/2589967 is resolved.
+            'content' => '0; URL=' . Url::fromUri('internal:/big_pipe/no-js', ['query' => \Drupal::service('redirect.destination')->getAsArray()])->toString(),
           ],
         ],
         'big_pipe_detect_nojs',
diff --git a/core/modules/system/system.routing.yml b/core/modules/system/system.routing.yml
index e19e1143b3cb981ca68046e46116f11e8ff4b32e..5f75f2f285603e9507171196909ac8b688d7e29c 100644
--- a/core/modules/system/system.routing.yml
+++ b/core/modules/system/system.routing.yml
@@ -445,6 +445,8 @@ system.batch_page.html:
     _format: 'html'
   options:
     _admin_route: TRUE
+    # @todo Remove the '_no_big_pipe' route option when https://www.drupal.org/node/2589967 lands.
+    _no_big_pipe: TRUE
 
 system.batch_page.json:
   path: '/batch'