diff --git a/src/Plugin/DisplayVariant/PageBlockDisplayVariant.php b/src/Plugin/DisplayVariant/PageBlockDisplayVariant.php
index 59bb356..c8eab17 100644
--- a/src/Plugin/DisplayVariant/PageBlockDisplayVariant.php
+++ b/src/Plugin/DisplayVariant/PageBlockDisplayVariant.php
@@ -24,6 +24,7 @@ use Drupal\ctools\Plugin\DisplayVariant\BlockDisplayVariant;
 use Drupal\ctools\Plugin\PluginWizardInterface;
 use Drupal\page_manager_ui\Form\VariantPluginContentForm;
 use Symfony\Component\DependencyInjection\ContainerInterface;
+use Drupal\Core\Block\TitleBlockPluginInterface;
 
 /**
  * Provides a variant plugin that simply contains blocks.
@@ -111,6 +112,7 @@ class PageBlockDisplayVariant extends BlockDisplayVariant implements PluginWizar
       ->addCacheableDependency($this);
 
     $contexts = $this->getContexts();
+    $build['#title'] = $this->renderPageTitle($this->configuration['page_title']);
     foreach ($this->getRegionAssignments() as $region => $blocks) {
       if (!$blocks) {
         continue;
@@ -123,6 +125,9 @@ class PageBlockDisplayVariant extends BlockDisplayVariant implements PluginWizar
       /** @var \Drupal\Core\Block\BlockPluginInterface[] $blocks */
       $weight = 0;
       foreach ($blocks as $block_id => $block) {
+        if ($block instanceof TitleBlockPluginInterface) {
+          $block->setTitle($build['#title']);
+        }
         if ($block instanceof ContextAwarePluginInterface) {
           $this->contextHandler()->applyContextMapping($block, $contexts);
         }
@@ -165,8 +170,6 @@ class PageBlockDisplayVariant extends BlockDisplayVariant implements PluginWizar
       }
     }
 
-    $build['#title'] = $this->renderPageTitle($this->configuration['page_title']);
-
     $cacheability->applyTo($build);
 
     return $build;
