diff --git a/page_manager.services.yml b/page_manager.services.yml
index 62b4dad..ef60c04 100644
--- a/page_manager.services.yml
+++ b/page_manager.services.yml
@@ -16,3 +16,7 @@ services:
       - { name: 'event_subscriber' }
   page_manager.executable_factory:
     class: Drupal\page_manager\PageExecutableFactory
+  page_manager.page_display_variant_subscriber:
+    class: Drupal\page_manager\EventSubscriber\BlockPageDisplayVariantSubscriber
+    tags:
+      - { name: event_subscriber }
diff --git a/src/EventSubscriber/BlockPageDisplayVariantSubscriber.php b/src/EventSubscriber/BlockPageDisplayVariantSubscriber.php
new file mode 100644
index 0000000..2b5d785
--- /dev/null
+++ b/src/EventSubscriber/BlockPageDisplayVariantSubscriber.php
@@ -0,0 +1,40 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\page_manager\EventSubscriber\BlockPageDisplayVariantSubscriber.
+ */
+
+namespace Drupal\page_manager\EventSubscriber;
+
+use Drupal\Core\Render\PageDisplayVariantSelectionEvent;
+use Drupal\Core\Render\RenderEvents;
+use Symfony\Component\EventDispatcher\EventSubscriberInterface;
+
+/**
+ * @todo.
+ */
+class BlockPageDisplayVariantSubscriber implements EventSubscriberInterface {
+
+  /**
+   * Selects the block page display variant.
+   *
+   * @param \Drupal\Core\Render\PageDisplayVariantSelectionEvent $event
+   *   The event to process.
+   */
+  public function onSelectPageDisplayVariant(PageDisplayVariantSelectionEvent $event) {
+    if ($page_manager = $event->getRouteMatch()->getParameter('page_manager_page')) {
+      // @todo Check the page entity for the setting about disabling blocks.
+      $event->setPluginId('simple_page');
+    }
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function getSubscribedEvents() {
+    $events[RenderEvents::SELECT_PAGE_DISPLAY_VARIANT][] = array('onSelectPageDisplayVariant');
+    return $events;
+  }
+
+}
