diff --git a/core/lib/Drupal/Core/Database/Statement.php b/core/lib/Drupal/Core/Database/Statement.php
index 1625bab..49dc05b 100644
--- a/core/lib/Drupal/Core/Database/Statement.php
+++ b/core/lib/Drupal/Core/Database/Statement.php
@@ -81,6 +81,13 @@ public function getQueryString() {
   /**
    * {@inheritdoc}
    */
+  public function fetch($how = NULL, $orientation = NULL, $offset = NULL) {
+    return $this->fetch($how, $orientation, $offset);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
   public function fetchCol($index = 0) {
     return $this->fetchAll(\PDO::FETCH_COLUMN, $index);
   }
diff --git a/core/lib/Drupal/Core/Database/StatementInterface.php b/core/lib/Drupal/Core/Database/StatementInterface.php
index 6792e3e..63c9388 100644
--- a/core/lib/Drupal/Core/Database/StatementInterface.php
+++ b/core/lib/Drupal/Core/Database/StatementInterface.php
@@ -114,7 +114,7 @@ public function setFetchMode($mode, $a1 = NULL, $a2 = array());
    * @return
    *   A result, formatted according to $mode.
    */
-   public function fetch($mode = NULL, $cursor_orientation = NULL, $cursor_offset = NULL);
+   public function fetch($how = NULL, $cursor_orientation = NULL, $cursor_offset = NULL);
 
   /**
    * Returns a single field from the next record of a result set.
diff --git a/core/modules/views/src/Plugin/views/exposed_form/ExposedFormPluginBase.php b/core/modules/views/src/Plugin/views/exposed_form/ExposedFormPluginBase.php
index 33267b2..1b2e5b8 100644
--- a/core/modules/views/src/Plugin/views/exposed_form/ExposedFormPluginBase.php
+++ b/core/modules/views/src/Plugin/views/exposed_form/ExposedFormPluginBase.php
@@ -126,10 +126,12 @@ public function buildOptionsForm(&$form, FormStateInterface $form_state) {
    * also assign data to the appropriate handlers for use in building the
    * query.
    */
-  public function renderExposedForm($block = FALSE) {
+  public function renderExposedForm($block = FALSE, FormStateInterface $form_state = NULL) {
+    if (!isset($form_state)) {
+      $form_state = new FormState();
+    }
     // Deal with any exposed filters we may have, before building.
-    $form_state = (new FormState())
-      ->setStorage([
+    $form_state->setStorage([
         'view' => $this->view,
         'display' => &$this->view->display_handler->display,
         'rerender' => TRUE,
diff --git a/core/modules/views/src/ViewExecutable.php b/core/modules/views/src/ViewExecutable.php
index a9648d9..db6e470 100644
--- a/core/modules/views/src/ViewExecutable.php
+++ b/core/modules/views/src/ViewExecutable.php
@@ -1158,6 +1158,7 @@ public function initQuery() {
    *   display fails or NULL if the view has been built already.
    */
   public function build($display_id = NULL) {
+
     if (!empty($this->built)) {
       return;
     }
@@ -1198,8 +1199,9 @@ public function build($display_id = NULL) {
 
     if ($this->display_handler->usesExposed()) {
       $exposed_form = $this->display_handler->getPlugin('exposed_form');
-      $this->exposed_widgets = $exposed_form->renderExposedForm();
-      if (FormState::hasAnyErrors() || !empty($this->build_info['abort'])) {
+      $form_state = new FormState();
+      $this->exposed_widgets = $exposed_form->renderExposedForm(FALSE, $form_state);
+      if ($form_state->getErrors() || !empty($this->build_info['abort'])) {
         $this->built = TRUE;
         // Don't execute the query, $form_state, but rendering will still be executed to display the empty text.
         $this->executed = TRUE;
