diff --git a/src/Plugin/DisplayVariant/PageBlockDisplayVariant.php b/src/Plugin/DisplayVariant/PageBlockDisplayVariant.php
index 4b704d0..b04a9e3 100644
--- a/src/Plugin/DisplayVariant/PageBlockDisplayVariant.php
+++ b/src/Plugin/DisplayVariant/PageBlockDisplayVariant.php
@@ -119,8 +119,11 @@ class PageBlockDisplayVariant extends BlockDisplayVariant implements PluginWizar
       }
 
       $region_name = Html::getClass("block-region-$region");
-      $build[$region]['#prefix'] = '<div class="' . $region_name . '">';
-      $build[$region]['#suffix'] = '</div>';
+      $build[$region] = [
+        '#theme' => 'region',
+        '#region' => $region,
+        '#attributes' => ['class' => [$region_name]],
+      ];
 
       /** @var \Drupal\Core\Block\BlockPluginInterface[] $blocks */
       $weight = 0;
@@ -163,7 +166,7 @@ class PageBlockDisplayVariant extends BlockDisplayVariant implements PluginWizar
         // If an alter hook wants to modify the block contents, it can append
         // another #pre_render hook.
         $this->moduleHandler->alter(['block_view', 'block_view_' . $block->getBaseId()], $block_build, $block);
-        $build[$region][$block_id] = $block_build;
+        $build[$region]['#children'][$block_id] = $block_build;
       }
     }
 
