diff --git a/core/modules/views/src/Controller/ViewAjaxController.php b/core/modules/views/src/Controller/ViewAjaxController.php
index 7993d2a..044af18 100644
--- a/core/modules/views/src/Controller/ViewAjaxController.php
+++ b/core/modules/views/src/Controller/ViewAjaxController.php
@@ -130,11 +130,28 @@ public function ajaxView(Request $request) {
 
       $response = new ViewAjaxResponse();
 
+      // Add all POST data, because AJAX is always a post and many things,
+      // such as tablesorts, exposed filters and paging assume GET.
+      $request_all = $request->request->all();
+      $query_all = $request->query->all();
+      $request->query->replace($request_all + $query_all);
+
       // Remove all of this stuff from the query of the request so it doesn't
       // end up in pagers and tablesort URLs.
-      foreach (array('view_name', 'view_display_id', 'view_args', 'view_path', 'view_dom_id', 'pager_element', 'view_base_path', AjaxResponseSubscriber::AJAX_REQUEST_PARAMETER) as $key) {
+      foreach (array(
+        'view_name',
+        'view_display_id',
+        'view_args',
+        'view_path',
+        'view_dom_id',
+        'pager_element',
+        'view_base_path',
+        AjaxResponseSubscriber::AJAX_REQUEST_PARAMETER,
+        FormBuilderInterface::AJAX_FORM_REQUEST,
+        MainContentViewSubscriber::WRAPPER_FORMAT,
+        'ajax_page_state'
+      ) as $key) {
         $request->query->remove($key);
-        $request->request->remove($key);
       }
 
       // Load the view.
@@ -149,24 +166,11 @@ public function ajaxView(Request $request) {
           $this->currentPath->setPath('/' . $path, $request);
         }
 
-        // Add all POST data, because AJAX is always a post and many things,
-        // such as tablesorts, exposed filters and paging assume GET.
-        $request_all = $request->request->all();
-        $query_all = $request->query->all();
-        $request->query->replace($request_all + $query_all);
-
         // Overwrite the destination.
         // @see the redirect.destination service.
         $origin_destination = $path;
 
-        // Remove some special parameters you never want to have part of the
-        // destination query.
-        $used_query_parameters = $request->query->all();
-        // @todo Remove this parsing once these are removed from the request in
-        //   https://www.drupal.org/node/2504709.
-        unset($used_query_parameters[FormBuilderInterface::AJAX_FORM_REQUEST], $used_query_parameters[MainContentViewSubscriber::WRAPPER_FORMAT], $used_query_parameters['ajax_page_state']);
-
-        $query = UrlHelper::buildQuery($used_query_parameters);
+        $query = UrlHelper::buildQuery($request->query->all());
         if ($query != '') {
           $origin_destination .= '?' . $query;
         }
