diff --git a/core/modules/views/views_ui/lib/Drupal/views_ui/ViewPreviewFormController.php b/core/modules/views/views_ui/lib/Drupal/views_ui/ViewPreviewFormController.php
index bddb8c5..fbee3f2 100644
--- a/core/modules/views/views_ui/lib/Drupal/views_ui/ViewPreviewFormController.php
+++ b/core/modules/views/views_ui/lib/Drupal/views_ui/ViewPreviewFormController.php
@@ -47,11 +47,10 @@ public function form(array $form, array &$form_state, EntityInterface $view) {
       '#description' => t('Separate contextual filter values with a "/". For example, %example.', array('%example' => '40/12/10')),
       '#id' => 'preview-args',
     );
-    $form['controls']['#action'] = url('admin/structure/views/view/' . $view->get('name') .'/preview/' . $view->displayID);
 
     $args = array();
-    if (!empty($form_state['values']['view_args'])) {
-      $args = explode('/', $form_state['values']['view_args']);
+    if (!empty($form_state['input']['view_args'])) {
+      $args = explode('/', $form_state['input']['view_args']);
     }
 
     if ($view->renderPreview) {
@@ -80,6 +79,7 @@ protected function actions(array $form, array &$form_state) {
         '#type' => 'submit',
         '#value' => t('Update preview'),
         '#attributes' => array('class' => array('arguments-preview')),
+        '#submit' => array(array($this, 'submitPreview')),
         '#id' => 'preview-submit',
         '#ajax' => array(
           'path' => 'admin/structure/views/view/' . $view->get('name') . '/preview/' . $view->displayID . '/ajax',
@@ -92,4 +92,14 @@ protected function actions(array $form, array &$form_state) {
     );
   }
 
+  /**
+   * Submit handler when Preview button is clicked.
+   */
+  public function submitPreview(&$form, &$form_state) {
+    // Rebuild the form with a pristine $view object.
+    $form_state['build_info']['args'][0] = views_ui_cache_load($this->getEntity($form_state)->get('name'));
+    $form_state['show_preview'] = TRUE;
+    $form_state['rebuild'] = TRUE;
+  }
+
 }
