diff --git a/vendor/magento/module-banner-page-builder/Model/ResourceModel/DynamicBlock/Content.php b/vendor/magento/module-banner-page-builder/Model/ResourceModel/DynamicBlock/Content.php
index 4e36e5bd..f3ad5321 100644
--- a/vendor/magento/module-banner-page-builder/Model/ResourceModel/DynamicBlock/Content.php
+++ b/vendor/magento/module-banner-page-builder/Model/ResourceModel/DynamicBlock/Content.php
@@ -29,6 +29,7 @@ public function __construct(
 
     /**
      * Retrieves the content of the block regardless of current store view or customer segment
+     *
      * @param int $blockId
      * @return string
      */
@@ -42,6 +43,10 @@ public function getById(int $blockId): string
             'banner_id=?',
             $blockId
         );
-        return $connection->fetchOne($select) ?? '';
+        $fetch = $connection->fetchOne($select);
+        if (!is_string($fetch)) {
+            $fetch = '';
+        }
+        return $fetch;
     }
 }
diff --git a/vendor/magento/module-banner-page-builder/Model/Stage/Renderer/DynamicBlock.php b/vendor/magento/module-banner-page-builder/Model/Stage/Renderer/DynamicBlock.php
index 69520e62..cd677840 100644
--- a/vendor/magento/module-banner-page-builder/Model/Stage/Renderer/DynamicBlock.php
+++ b/vendor/magento/module-banner-page-builder/Model/Stage/Renderer/DynamicBlock.php
@@ -108,7 +108,7 @@ public function render(array $params): array
             $params['directive'] = $content;
             $directiveResult = $this->widgetDirectiveRenderer->render($params);
             $result['content'] = $this->placeholderFilter->addPlaceholders(
-                $this->htmlFilter->filterHtml($directiveResult['content'])
+                $this->htmlFilter->filterHtml($directiveResult['content'] ?? '')
             );
         } else {
             $result['error'] = __('Dynamic Block disabled');
