diff --git a/src/Plugin/DisplayVariant/PanelsDisplayVariant.php b/src/Plugin/DisplayVariant/PanelsDisplayVariant.php
index 7aa4606..3474a53 100644
--- a/src/Plugin/DisplayVariant/PanelsDisplayVariant.php
+++ b/src/Plugin/DisplayVariant/PanelsDisplayVariant.php
@@ -7,12 +7,17 @@
 
 namespace Drupal\panels\Plugin\DisplayVariant;
 
+use Drupal\Component\Plugin\PluginManagerInterface;
 use Drupal\Component\Utility\Html;
+use Drupal\Component\Uuid\UuidInterface;
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Component\Plugin\ContextAwarePluginInterface;
+use Drupal\Core\Plugin\Context\ContextHandlerInterface;
 use Drupal\Core\Session\AccountInterface;
+use Drupal\Core\Utility\Token;
 use Drupal\ctools\Plugin\DisplayVariant\BlockDisplayVariant;
 use Drupal\layout_plugin\Layout;
+use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
  * Provides a display variant that simply contains blocks.
@@ -25,6 +30,13 @@ use Drupal\layout_plugin\Layout;
 class PanelsDisplayVariant extends BlockDisplayVariant {
 
   /**
+   * The layout plugin manager.
+   *
+   * @var \Drupal\Component\Plugin\PluginManagerInterface
+   */
+  protected $layoutManager;
+
+  /**
    * The layout handler.
    *
    * @var \Drupal\layout_plugin\Plugin\Layout\LayoutInterface
@@ -32,6 +44,30 @@ class PanelsDisplayVariant extends BlockDisplayVariant {
   protected $layout;
 
   /**
+   * {@inheritdoc}
+   */
+  public function __construct(array $configuration, $plugin_id, $plugin_definition, ContextHandlerInterface $context_handler, AccountInterface $account, UuidInterface $uuid_generator, Token $token, PluginManagerInterface $layout_manager) {
+    parent::__construct($configuration, $plugin_id, $plugin_definition, $context_handler, $account, $uuid_generator, $token);
+    $this->layoutManager = $layout_manager;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
+    return new static(
+      $configuration,
+      $plugin_id,
+      $plugin_definition,
+      $container->get('context.handler'),
+      $container->get('current_user'),
+      $container->get('uuid'),
+      $container->get('token'),
+      $container->get('plugin.manager.layout_plugin')
+    );
+  }
+
+  /**
    * Returns instance of the layout plugin used by this page variant.
    *
    * @return \Drupal\layout_plugin\Plugin\Layout\LayoutInterface
@@ -39,7 +75,7 @@ class PanelsDisplayVariant extends BlockDisplayVariant {
    */
   public function getLayout() {
     if (!isset($this->layout)) {
-      $this->layout = Layout::layoutPluginManager()->createInstance($this->configuration['layout'], []);
+      $this->layout = $this->layoutManager->createInstance($this->configuration['layout'], []);
     }
     return $this->layout;
   }
diff --git a/tests/src/Unit/PanelsDisplayVariantTest.php b/tests/src/Unit/PanelsDisplayVariantTest.php
index 9816e3a..dff1f8f 100644
--- a/tests/src/Unit/PanelsDisplayVariantTest.php
+++ b/tests/src/Unit/PanelsDisplayVariantTest.php
@@ -7,6 +7,7 @@
 
 namespace Drupal\Tests\panels\Unit;
 
+use Drupal\Component\Plugin\PluginManagerInterface;
 use Drupal\Component\Uuid\UuidInterface;
 use Drupal\Core\Form\FormState;
 use Drupal\Core\Plugin\Context\ContextHandlerInterface;
@@ -29,8 +30,9 @@ class PanelsDisplayVariantTest extends UnitTestCase {
     $context_handler = $this->prophesize(ContextHandlerInterface::class);
     $uuid_generator = $this->prophesize(UuidInterface::class);
     $token = $this->prophesize(Token::class);
+    $layout_manager = $this->prophesize(PluginManagerInterface::class);
 
-    $display_variant = new PanelsDisplayVariant([], '', [], $context_handler->reveal(), $account->reveal(), $uuid_generator->reveal(), $token->reveal());
+    $display_variant = new PanelsDisplayVariant([], '', [], $context_handler->reveal(), $account->reveal(), $uuid_generator->reveal(), $token->reveal(), $layout_manager->reveal());
 
     $values = ['page_title' => "Go hang a salami, I'm a lasagna hog!"];
 
