diff --git a/core/modules/views/src/Plugin/views/exposed_form/InputRequired.php b/core/modules/views/src/Plugin/views/exposed_form/InputRequired.php
index 110115a..051c19b 100644
--- a/core/modules/views/src/Plugin/views/exposed_form/InputRequired.php
+++ b/core/modules/views/src/Plugin/views/exposed_form/InputRequired.php
@@ -73,6 +73,9 @@ protected function exposedFilterApplied() {
   }
 
   public function preRender($values) {
+    // Display the "text on demand" if needed. This is a site builder-defined
+    // text to display instead of results until the user selects and applies
+    // an exposed filter.
     if (!$this->exposedFilterApplied()) {
       $options = array(
         'id' => 'area',
@@ -81,8 +84,13 @@ public function preRender($values) {
         'label' => '',
         'relationship' => 'none',
         'group_type' => 'group',
-        'content' => $this->options['text_input_required'],
-        'format' => $this->options['text_input_required_format'],
+        // We will display this message even if the view has no result.
+        'empty' => TRUE,
+        'content' => [
+          // @see \Drupal\views\Plugin\views\area\Text::render()
+          'value' => $this->options['text_input_required'],
+          'format' => $this->options['text_input_required_format'],
+        ],
       );
       $handler = Views::handlerManager('area')->getHandler($options);
       $handler->init($this->view, $this->displayHandler, $options);
diff --git a/core/modules/views/src/Tests/Plugin/ExposedFormTest.php b/core/modules/views/src/Tests/Plugin/ExposedFormTest.php
index 1427c5d..6e599b1 100644
--- a/core/modules/views/src/Tests/Plugin/ExposedFormTest.php
+++ b/core/modules/views/src/Tests/Plugin/ExposedFormTest.php
@@ -182,6 +182,17 @@ public function testInputRequired() {
     $this->assertResponse(200);
     $this->helperButtonHasLabel('edit-submit-test-exposed-form-buttons', t('Apply'));
 
+    $view = entity_load('view', 'test_exposed_form_buttons');
+    $exposed_form = $view->display_handler->getOption('exposed_form');
+    $exposed_form['options']['text_input_required'] = 'Text on demand';
+    $exposed_form['options']['text_input_required_format'] = 'plain_text';
+    $view->display_handler->setOption('exposed_form', $exposed_form);
+    $view->save();
+
+    // Ensure that the "Text on demand" is displayed.
+    $this->drupalGet('test_exposed_form_buttons');
+    $this->assertText('Text on demand');
+
     // Ensure that no results are displayed.
     $rows = $this->xpath("//div[contains(@class, 'views-row')]");
     $this->assertEqual(count($rows), 0, 'No rows are displayed by default when no input is provided.');
@@ -191,6 +202,7 @@ public function testInputRequired() {
     // Ensure that results are displayed.
     $rows = $this->xpath("//div[contains(@class, 'views-row')]");
     $this->assertEqual(count($rows), 5, 'All rows are displayed by default when input is provided.');
+    $this->assertNoText('Text on demand');
   }
 
   /**
