diff --git a/core/modules/views/src/Plugin/views/display/DisplayPluginBase.php b/core/modules/views/src/Plugin/views/display/DisplayPluginBase.php
index e31b5a2..8693393 100644
--- a/core/modules/views/src/Plugin/views/display/DisplayPluginBase.php
+++ b/core/modules/views/src/Plugin/views/display/DisplayPluginBase.php
@@ -1429,6 +1429,7 @@ public function buildOptionsForm(&$form, FormStateInterface $form_state) {
           '#default_value' => $this->getOption('title'),
           '#maxlength' => 255,
         ];
+        $this->globalTokenForm($form, $form_state);
         break;
       case 'css_class':
         $form['#title'] .= $this->t('CSS class');
diff --git a/core/modules/views/src/ViewExecutable.php b/core/modules/views/src/ViewExecutable.php
index b1861f7..f21f314 100644
--- a/core/modules/views/src/ViewExecutable.php
+++ b/core/modules/views/src/ViewExecutable.php
@@ -1828,6 +1828,9 @@ public function getTitle() {
     if ($this->initStyle()) {
       $title = $this->style_plugin->tokenizeValue($title, 0);
     }
+
+    // Allow global token substitutions
+    $title = $this->display_handler->globalTokenReplace($title);
     return $title;
   }
 
diff --git a/core/modules/views/views.views.inc b/core/modules/views/views.views.inc
index 0bd5f27..ede9f87 100644
--- a/core/modules/views/views.views.inc
+++ b/core/modules/views/views.views.inc
@@ -76,7 +76,6 @@ function views_views_data() {
     'help' => t('Override the default view title for this view. This is useful to display an alternative title when a view is empty.'),
     'area' => [
       'id' => 'title',
-      'sub_type' => 'empty',
     ],
   ];
 
