diff --git a/src/Controller/ViewsBulkOperationsController.php b/src/Controller/ViewsBulkOperationsController.php
index 6a67191..1808776 100644
--- a/src/Controller/ViewsBulkOperationsController.php
+++ b/src/Controller/ViewsBulkOperationsController.php
@@ -45,7 +45,7 @@ class ViewsBulkOperationsController extends ControllerBase implements ContainerI
     $tempstore->delete($this->currentUser()->id());
 
     batch_set($batch);
-    return batch_process($view_data['redirect_uri']['destination']);
+    return batch_process($view_data['redirect_url']);
   }
 
 }
diff --git a/src/Form/ConfigureAction.php b/src/Form/ConfigureAction.php
index b1cfaee..d03fca2 100644
--- a/src/Form/ConfigureAction.php
+++ b/src/Form/ConfigureAction.php
@@ -8,7 +8,6 @@ use Drupal\Core\Form\FormStateInterface;
 use Drupal\user\PrivateTempStoreFactory;
 use Drupal\views_bulk_operations\Service\ViewsBulkOperationsActionManager;
 use Drupal\views_bulk_operations\ViewsBulkOperationsBatch;
-use Drupal\Core\Url;
 
 /**
  * Action configuration form.
@@ -120,14 +119,12 @@ class ConfigureAction extends FormBase {
       $form_state->setRedirect($definition['confirm_form_route_name'], [
         'view_id' => $view_data['view_id'],
         'display_id' => $view_data['display_id'],
-      ], [
-        'query' => $view_data['redirect_uri'],
       ]);
     }
     else {
       // Execute batch process.
       $batch = ViewsBulkOperationsBatch::getBatch($view_data);
-      $form_state->setRedirectUrl(Url::fromUserInput($view_data['redirect_uri']['destination']));
+      $form_state->setRedirectUrl($view_data['redirect_url']);
 
       $this->tempStoreFactory->get($view_data['tempstore_name'])->delete($this->currentUser()->id());
 
diff --git a/src/Form/ConfirmAction.php b/src/Form/ConfirmAction.php
index 870e9a2..28eea11 100644
--- a/src/Form/ConfirmAction.php
+++ b/src/Form/ConfirmAction.php
@@ -9,7 +9,6 @@ use Drupal\user\PrivateTempStoreFactory;
 use Drupal\Core\Action\ActionManager;
 use Drupal\views_bulk_operations\ViewsBulkOperationsBatch;
 use Drupal\views\Views;
-use Drupal\Core\Url;
 
 /**
  * Action configuration form.
@@ -109,7 +108,7 @@ class ConfirmAction extends FormBase {
   public function submitForm(array &$form, FormStateInterface $form_state) {
     $view_data = $form_state->getStorage();
 
-    $form_state->setRedirectUrl(Url::fromUserInput($view_data['redirect_uri']['destination']));
+    $form_state->setRedirectUrl($view_data['redirect_url']);
 
     $batch = ViewsBulkOperationsBatch::getBatch($view_data);
 
diff --git a/src/Plugin/views/field/ViewsBulkOperationsBulkForm.php b/src/Plugin/views/field/ViewsBulkOperationsBulkForm.php
index 9367c19..0a6ef9f 100644
--- a/src/Plugin/views/field/ViewsBulkOperationsBulkForm.php
+++ b/src/Plugin/views/field/ViewsBulkOperationsBulkForm.php
@@ -22,6 +22,7 @@ use Drupal\views_bulk_operations\Service\ViewsBulkOperationsActionProcessor;
 use Drupal\user\PrivateTempStoreFactory;
 use Drupal\Core\Session\AccountInterface;
 use Drupal\views_bulk_operations\ViewsBulkOperationsBatch;
+use Drupal\Core\Url;
 
 /**
  * Defines a actions-based bulk operation form element.
@@ -622,7 +623,7 @@ class ViewsBulkOperationsBulkForm extends FieldPluginBase implements CacheableDe
           $data['exposed_input'] = $this->view->getExposedInput();
         }
         $data['batch_size'] = $this->options['batch_size'];
-        $data['redirect_uri'] = $this->getDestinationArray();
+        $data['redirect_url'] = Url::createFromRequest(\Drupal::request());
 
         $this->userTempStore->set($this->currentUser->id(), $data);
 
