diff --git a/core/modules/system/tests/modules/plugin_test/src/Plugin/plugin_test/fruit/ExtendingNonInstalledClass.php b/core/modules/system/tests/modules/plugin_test/src/Plugin/plugin_test/fruit/ExtendingNonInstalledClass.php
new file mode 100644
index 0000000..a42a474
--- /dev/null
+++ b/core/modules/system/tests/modules/plugin_test/src/Plugin/plugin_test/fruit/ExtendingNonInstalledClass.php
@@ -0,0 +1,14 @@
+<?php
+
+namespace Drupal\plugin_test\Plugin\plugin_test\fruit;
+
+use Drupal\non_installed_module\Plugin\plugin_test\fruit\YummyFruit;
+
+/**
+ * @Plugin(
+ *   id = "extending_non_installed_class",
+ *   label = "A plugin whose class is extending from a non-installed module class",
+ *   color = "pink",
+ * )
+ */
+class ExtendingNonInstalledClass extends YummyFruit { }
diff --git a/core/tests/Drupal/KernelTests/Core/Plugin/Discovery/AnnotatedClassDiscoveryTest.php b/core/tests/Drupal/KernelTests/Core/Plugin/Discovery/AnnotatedClassDiscoveryTest.php
index bc68dc1..9a714c4 100644
--- a/core/tests/Drupal/KernelTests/Core/Plugin/Discovery/AnnotatedClassDiscoveryTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Plugin/Discovery/AnnotatedClassDiscoveryTest.php
@@ -64,6 +64,13 @@ protected function setUp() {
         'class' => 'Drupal\plugin_test_extended\Plugin\plugin_test\fruit\BigApple',
         'provider' => 'plugin_test_extended',
       ),
+      'extending_non_installed_class' => array(
+        'id' => 'extending_non_installed_class',
+        'label' => 'A plugin whose class is extending from a non-installed module class',
+        'color' => 'pink',
+        'class' => 'Drupal\plugin_test\Plugin\plugin_test\fruit\ExtendingNonInstalledClass',
+        'provider' => 'plugin_test',
+      ),
     );
 
     $base_directory = \Drupal::root() . '/core/modules/system/tests/modules/plugin_test/src';
diff --git a/core/tests/Drupal/KernelTests/Core/Plugin/Discovery/CustomDirectoryAnnotatedClassDiscoveryTest.php b/core/tests/Drupal/KernelTests/Core/Plugin/Discovery/CustomDirectoryAnnotatedClassDiscoveryTest.php
index 3d5d8c2..a9fbf79 100644
--- a/core/tests/Drupal/KernelTests/Core/Plugin/Discovery/CustomDirectoryAnnotatedClassDiscoveryTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Plugin/Discovery/CustomDirectoryAnnotatedClassDiscoveryTest.php
@@ -71,6 +71,13 @@ protected function setUp() {
         'class' => 'Drupal\plugin_test\Plugin\plugin_test\fruit\Orange',
         'provider' => 'plugin_test',
       ),
+      'extending_non_installed_class' => array(
+        'id' => 'extending_non_installed_class',
+        'label' => 'A plugin whose class is extending from a non-installed module class',
+        'color' => 'pink',
+        'class' => 'Drupal\plugin_test\Plugin\plugin_test\fruit\ExtendingNonInstalledClass',
+        'provider' => 'plugin_test',
+      ),
     );
 
     $base_directory = \Drupal::root() . '/core/modules/system/tests/modules/plugin_test/src';
diff --git a/core/tests/Drupal/Tests/Core/Plugin/DefaultPluginManagerTest.php b/core/tests/Drupal/Tests/Core/Plugin/DefaultPluginManagerTest.php
index feac004..ffdac5a 100644
--- a/core/tests/Drupal/Tests/Core/Plugin/DefaultPluginManagerTest.php
+++ b/core/tests/Drupal/Tests/Core/Plugin/DefaultPluginManagerTest.php
@@ -60,6 +60,25 @@ protected function setUp() {
     $this->namespaces['Drupal\plugin_test'] = $this->root . '/core/modules/system/tests/modules/plugin_test/src';
   }
 
+  /**
+   * Tests the plugin manager with a plugin that extends a non-installed class.
+   */
+  public function testDefaultPluginManagerWithPluginExtendingNonInstalledClass() {
+    $definitions = array();
+    $definitions['extending_non_installed_class'] = array(
+      'id' => 'extending_non_installed_class',
+      'label' => 'A plugin whose class is extending from a non-installed module class',
+      'color' => 'pink',
+      'class' => 'Drupal\plugin_test\Plugin\plugin_test\fruit\ExtendingNonInstalledClass',
+      'provider' => 'plugin_test',
+    );
+
+    $module_handler = $this->getMock('Drupal\Core\Extension\ModuleHandlerInterface');
+    $plugin_manager = new TestPluginManager($this->namespaces, $definitions, $module_handler, 'test_alter_hook', '\Drupal\plugin_test\Plugin\plugin_test\fruit\FruitInterface');
+    $plugin_manager->getDefinition('plugin_test', FALSE);
+    $this->assertTrue(TRUE, 'No PHP fatal error occurred when retrieving the definitions of a module with plugins that depend on a non-installed module class should not cause a PHP fatal.');
+  }
+
   /**
    * Tests the plugin manager with a disabled module.
    */
@@ -383,7 +402,6 @@ public function providerTestProcessDefinition() {
     $data['no_form'][] = ['class' => TestPluginForm::class];
     $data['no_form'][] = [
       'class' => TestPluginForm::class,
-      'forms' => ['configure' => TestPluginForm::class],
       'foo' => ['bar' => ['baz']],
     ];
 
