diff --git a/core/modules/migrate/tests/src/Kernel/Plugin/MigrationPluginListTest.php b/core/modules/migrate/tests/src/Kernel/Plugin/MigrationPluginListTest.php
new file mode 100644
index 0000000..5861cf2
--- /dev/null
+++ b/core/modules/migrate/tests/src/Kernel/Plugin/MigrationPluginListTest.php
@@ -0,0 +1,68 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\Tests\migrate\Kernel\Plugin\MigrationPluginListTest.
+ */
+
+namespace Drupal\Tests\migrate\Kernel\Plugin;
+
+use Drupal\KernelTests\KernelTestBase;
+
+/**
+ * Tests the migration manager plugin.
+ *
+ * @coversDefaultClass \Drupal\migrate\Plugin\MigratePluginManager
+ * @group migrate
+ */
+class MigrationPluginListTest extends KernelTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static $modules = [
+    'migrate',
+    // Test with all modules containing Drupal migrations.
+    'action',
+    'aggregator',
+    'ban',
+    'block',
+    'block_content',
+    'book',
+    'comment',
+    'contact',
+    'dblog',
+    'field',
+    'file',
+    'filter',
+    'forum',
+    'image',
+    'language',
+    'locale',
+    'menu_link_content',
+    'menu_ui',
+    'node',
+    'path',
+    'search',
+    'shortcut',
+    'simpletest',
+    'statistics',
+    'syslog',
+    'system',
+    'taxonomy',
+    'text',
+    'tracker',
+    'update',
+    'user',
+  ];
+
+  /**
+   * Tests MigratePluginManager::getDefinitions()
+   *
+   * @covers ::getDefinitions
+   */
+  public function testGetDefinitions() {
+    $migration_plugins = \Drupal::service('plugin.manager.migration')->getDefinitions();
+  }
+
+}
diff --git a/core/modules/migrate_drupal/tests/src/Kernel/Plugin/DrupalMigrationPluginListTest.php b/core/modules/migrate_drupal/tests/src/Kernel/Plugin/DrupalMigrationPluginListTest.php
new file mode 100644
index 0000000..05b7bf1
--- /dev/null
+++ b/core/modules/migrate_drupal/tests/src/Kernel/Plugin/DrupalMigrationPluginListTest.php
@@ -0,0 +1,25 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\Tests\migrate_drupal\Kernel\Plugin\DrupalMigrationPluginListTest.
+ */
+
+namespace Drupal\Tests\migrate_drupal\Kernel\Plugin;
+
+use Drupal\Tests\migrate\Kernel\Plugin\MigrationPluginListTest;
+
+/**
+ * Tests the migration manager plugin with migrate_drupal enabled.
+ *
+ * @coversDefaultClass \Drupal\migrate\Plugin\MigratePluginManager
+ * @group migrate
+ */
+class DrupalMigrationPluginListTest extends MigrationPluginListTest {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static $modules = ['migrate_drupal'];
+
+}
diff --git a/core/modules/node/src/Plugin/migrate/D6NodeDeriver.php b/core/modules/node/src/Plugin/migrate/D6NodeDeriver.php
index f3e1a92..dd8975a 100644
--- a/core/modules/node/src/Plugin/migrate/D6NodeDeriver.php
+++ b/core/modules/node/src/Plugin/migrate/D6NodeDeriver.php
@@ -4,6 +4,7 @@
 
 use Drupal\Component\Plugin\Derivative\DeriverBase;
 use Drupal\Component\Plugin\PluginManagerInterface;
+use Drupal\Core\Database\ConnectionNotDefinedException;
 use Drupal\Core\Database\DatabaseExceptionWrapper;
 use Drupal\Core\Plugin\Discovery\ContainerDeriverInterface;
 use Drupal\migrate\Exception\RequirementsException;
@@ -143,6 +144,10 @@ public function getDerivativeDefinitions($base_plugin_definition) {
         $this->derivatives[$node_type] = $migration->getPluginDefinition();
       }
     }
+    catch (ConnectionNotDefinedException $e) {
+      // We may be invoked by general plugin discovery when there is no D6
+      // migration configured.
+    }
     catch (DatabaseExceptionWrapper $e) {
       // Once we begin iterating the source plugin it is possible that the
       // source tables will not exist. This can happen when the
diff --git a/core/modules/node/src/Plugin/migrate/D7NodeDeriver.php b/core/modules/node/src/Plugin/migrate/D7NodeDeriver.php
index 6efa1c7..6df763c 100644
--- a/core/modules/node/src/Plugin/migrate/D7NodeDeriver.php
+++ b/core/modules/node/src/Plugin/migrate/D7NodeDeriver.php
@@ -4,6 +4,7 @@
 
 use Drupal\Component\Plugin\Derivative\DeriverBase;
 use Drupal\Component\Plugin\PluginManagerInterface;
+use Drupal\Core\Database\ConnectionNotDefinedException;
 use Drupal\Core\Database\DatabaseExceptionWrapper;
 use Drupal\Core\Plugin\Discovery\ContainerDeriverInterface;
 use Drupal\migrate\Exception\RequirementsException;
@@ -113,6 +114,10 @@ public function getDerivativeDefinitions($base_plugin_definition) {
         $this->derivatives[$node_type] = $migration->getPluginDefinition();
       }
     }
+    catch (ConnectionNotDefinedException $e) {
+      // We may be invoked by general plugin discovery when there is no D6
+      // migration configured.
+    }
     catch (DatabaseExceptionWrapper $e) {
       // Once we begin iterating the source plugin it is possible that the
       // source tables will not exist. This can happen when the
