diff --git a/core/modules/views_ui/templates/views-ui-expose-filter-form.html.twig b/core/modules/views_ui/templates/views-ui-expose-filter-form.html.twig
new file mode 100644
index 0000000000000000000000000000000000000000..dfc4775886a9d0b6b354da399442a9a2d0a8147f
--- /dev/null
+++ b/core/modules/views_ui/templates/views-ui-expose-filter-form.html.twig
@@ -0,0 +1,67 @@
+{#
+/**
+ * @file
+ * Default theme implementation for exposed filter form.
+ *
+ * Available variables:
+ * - form_description: The exposed filter's description.
+ * - expose_button: The button to toggle the expose filter form.
+ * - group_button: Toggle options between single and grouped filters.
+ * - required: A checkbox to require this filter or not.
+ * - label: A filter label input field.
+ * - description: A filter description field.
+ * - operator: The operators for how the filters value should be treated.
+ *   - #type: The operator type.
+ * - value: The filters available values.
+ * - use_operator: Checkbox to allow the user to expose the operator.
+ * - more: A details element for additional field exposed filter fields.
+ *
+ * @ingroup themeable
+ */
+#}
+{{ form.form_description }}
+{{ form.expose_button }}
+{{ form.group_button }}
+{{ form.required }}
+{{ form.label }}
+{{ form.description }}
+
+{{ form.operator }}
+{{ form.value }}
+
+{% if form.use_operator %}
+  <div class="views-left-40">
+  {{ form.use_operator }}
+  </div>
+{% endif %}
+
+{#
+  Collect a list of elements printed to exclude when printing the
+  remaining elements.
+#}
+{% set remaining_form = form|without(
+  'form_description',
+  'expose_button',
+  'group_button',
+  'required',
+  'label',
+  'description',
+  'operator',
+  'value',
+  'use_operator',
+  'more'
+  )
+%}
+
+{#
+  Only output the right column markup if there's a left column to begin with.
+#}
+{% if form.operator['#type'] %}
+  <div class="views-right-60">
+  {{ remaining_form }}
+  </div>
+{% else %}
+  {{ remaining_form }}
+{% endif %}
+
+{{ form.more }}
diff --git a/core/modules/views_ui/views_ui.module b/core/modules/views_ui/views_ui.module
index f27d515d27126a94621ae365f99379eeeb519a4c..1bec041ccc7b5076138eadfd965d37853bb2b8bf 100644
--- a/core/modules/views_ui/views_ui.module
+++ b/core/modules/views_ui/views_ui.module
@@ -84,6 +84,7 @@ function views_ui_theme() {
     'views_ui_expose_filter_form' => array(
       'render element' => 'form',
       'file' => 'views_ui.theme.inc',
+      'template' => 'views-ui-expose-filter-form',
     ),
 
     // list views
diff --git a/core/modules/views_ui/views_ui.theme.inc b/core/modules/views_ui/views_ui.theme.inc
index efa54d994360cdb868b833172cbcc946863c26f7..eb8c34f1a6ebf624fb13e2dde0990a8b4d5febc0 100644
--- a/core/modules/views_ui/views_ui.theme.inc
+++ b/core/modules/views_ui/views_ui.theme.inc
@@ -104,46 +104,6 @@ function template_preprocess_views_ui_view_info(&$variables) {
   $variables['displays'] = $displays;
 }
 
-/**
- * Theme the expose filter form.
- */
-function theme_views_ui_expose_filter_form($variables) {
-  $form = $variables['form'];
-  $more = drupal_render($form['more']);
-
-  $output = drupal_render($form['form_description']);
-  $output .= drupal_render($form['expose_button']);
-  $output .= drupal_render($form['group_button']);
-  if (isset($form['required'])) {
-    $output .= drupal_render($form['required']);
-  }
-  $output .= drupal_render($form['label']);
-  $output .= drupal_render($form['description']);
-
-  $output .= drupal_render($form['operator']);
-  $output .= drupal_render($form['value']);
-
-  if (isset($form['use_operator'])) {
-    $output .= '<div class="views-left-40">';
-    $output .= drupal_render($form['use_operator']);
-    $output .= '</div>';
-  }
-
-  // Only output the right column markup if there's a left column to begin with
-  if (!empty($form['operator']['#type'])) {
-    $output .= '<div class="views-right-60">';
-    $output .= drupal_render_children($form);
-    $output .= '</div>';
-  }
-  else {
-    $output .= drupal_render_children($form);
-  }
-
-  $output .= $more;
-
-  return $output;
-}
-
 /**
  * Theme the build group filter form.
  */