diff --git a/core/modules/views/lib/Drupal/views/Plugin/views/exposed_form/ExposedFormPluginBase.php b/core/modules/views/lib/Drupal/views/Plugin/views/exposed_form/ExposedFormPluginBase.php
index dfb8c64..618bf40 100644
--- a/core/modules/views/lib/Drupal/views/Plugin/views/exposed_form/ExposedFormPluginBase.php
+++ b/core/modules/views/lib/Drupal/views/Plugin/views/exposed_form/ExposedFormPluginBase.php
@@ -139,13 +139,12 @@ public function renderExposedForm($block = FALSE) {
 
     $form_state['exposed_form_plugin'] = $this;
     $form = drupal_build_form('views_exposed_form', $form_state);
-    $output = drupal_render($form);
 
     if (!$this->view->display_handler->displaysExposed() || (!$block && $this->view->display_handler->getOption('exposed_block'))) {
-      return "";
+      return array();
     }
     else {
-      return $output;
+      return $form;
     }
   }
 
diff --git a/core/modules/views/tests/views_test_config/test_views/views.view.test_preview.yml b/core/modules/views/tests/views_test_config/test_views/views.view.test_preview.yml
index c6766fd..e8b81f8 100644
--- a/core/modules/views/tests/views_test_config/test_views/views.view.test_preview.yml
+++ b/core/modules/views/tests/views_test_config/test_views/views.view.test_preview.yml
@@ -38,7 +38,33 @@ display:
           label: Name
           exclude: '0'
           plugin_id: standard
-      filters: {  }
+      filters:
+        id:
+          id: id
+          table: views_test_data
+          field: id
+          relationship: none
+          group_type: group
+          admin_label: ''
+          operator: '='
+          value:
+            min: ''
+            max: ''
+            value: ''
+          group: '1'
+          exposed: '1'
+          expose:
+            operator_id: id_op
+            label: 'ID'
+            description: ''
+            use_operator: '0'
+            operator: id_op
+            identifier: id
+            required: '0'
+            remember: '0'
+            multiple: '0'
+          is_grouped: '0'
+          plugin_id: numeric
       sorts: {  }
       filter_groups:
         operator: AND
@@ -56,6 +82,42 @@ display:
           title_enable: '0'
           title: ''
           plugin_id: numeric
+      header:
+        area_text_custom:
+          id: area_text_custom
+          table: views
+          field: area_text_custom
+          relationship: none
+          group_type: group
+          admin_label: ''
+          empty: '1'
+          content: 'Test header text'
+          tokenize: '0'
+          plugin_id: text_custom
+      footer:
+        area_text_custom:
+          id: area_text_custom
+          table: views
+          field: area_text_custom
+          relationship: none
+          group_type: group
+          admin_label: ''
+          empty: '1'
+          content: 'Test footer text'
+          tokenize: '0'
+          plugin_id: text_custom
+      empty:
+        area_text_custom:
+          id: area_text_custom
+          table: views
+          field: area_text_custom
+          relationship: none
+          group_type: group
+          admin_label: ''
+          empty: '1'
+          content: 'Test empty text'
+          tokenize: '0'
+          plugin_id: text_custom
 label: test_preview
 module: views
 id: test_preview
diff --git a/core/modules/views_ui/lib/Drupal/views_ui/Tests/PreviewTest.php b/core/modules/views_ui/lib/Drupal/views_ui/Tests/PreviewTest.php
index 791ea07..6a6ecae 100644
--- a/core/modules/views_ui/lib/Drupal/views_ui/Tests/PreviewTest.php
+++ b/core/modules/views_ui/lib/Drupal/views_ui/Tests/PreviewTest.php
@@ -38,6 +38,14 @@ protected function testPreviewContextual() {
 
     $elements = $this->xpath('//div[@id="views-live-preview"]//ul[contains(@class, :ul-class)]/li[contains(@class, :li-class)]', array(':ul-class' => 'contextual-links', ':li-class' => 'filter-add'));
     $this->assertEqual(count($elements), 1, 'The contextual link to add a new field is shown.');
+
+    $this->drupalPost(NULL, $edit = array('view_args' => '100'), t('Update preview'));
+
+    // Test that area text and exposed filters are present and rendered.
+    $this->assertFieldByName('id', NULL, 'ID exposed filter field found.');
+    $this->assertText('Test header text', 'Rendered header text found');
+    $this->assertText('Test footer text', 'Rendered footer text found.');
+    $this->assertText('Test empty text', 'Rendered empty text found.');
   }
 
   /**
@@ -63,6 +71,12 @@ function testPreviewUI() {
 
     $elements = $this->xpath('//div[@class = "view-content"]/div[contains(@class, views-row)]');
     $this->assertEqual(count($elements), 0);
+
+    // Test that area text and exposed filters are present and rendered.
+    $this->assertFieldByName('id', NULL, 'ID exposed filter field found.');
+    $this->assertText('Test header text', 'Rendered header text found');
+    $this->assertText('Test footer text', 'Rendered footer text found.');
+    $this->assertText('Test empty text', 'Rendered empty text found.');
   }
 
   /**
