diff --git a/core/modules/migrate/config/schema/migrate.data_types.schema.yml b/core/modules/migrate/config/schema/migrate.data_types.schema.yml
index d887785..5b95871 100644
--- a/core/modules/migrate/config/schema/migrate.data_types.schema.yml
+++ b/core/modules/migrate/config/schema/migrate.data_types.schema.yml
@@ -24,6 +24,9 @@ migrate_source:
 migrate_source_sql:
   type: migrate_source
   mapping:
+    idlist:
+      type: sequence
+      label: 'Source IDs to be migrated'
     target:
       type: string
       label: 'The migration database target'
diff --git a/core/modules/migrate/src/Plugin/migrate/source/SourcePluginBase.php b/core/modules/migrate/src/Plugin/migrate/source/SourcePluginBase.php
index 2ebcbba..451be40 100644
--- a/core/modules/migrate/src/Plugin/migrate/source/SourcePluginBase.php
+++ b/core/modules/migrate/src/Plugin/migrate/source/SourcePluginBase.php
@@ -307,10 +307,9 @@ public function next() {
     // In order to find the next row we want to process, we ask the source
     // plugin for the next possible row.
     while (!isset($this->currentRow) && $this->getIterator()->valid()) {
-
       $row_data = $this->getIterator()->current() + $this->configuration;
       $this->getIterator()->next();
-      $row = new Row($row_data, $this->migration->getSourcePlugin()->getIds(), $this->migration->get('destinationIds'));
+      $row = new Row($row_data, $this->getIds());
 
       // Populate the source key for this row.
       $this->currentSourceIds = $row->getSourceIdValues();
diff --git a/core/modules/migrate/src/Plugin/migrate/source/SqlBase.php b/core/modules/migrate/src/Plugin/migrate/source/SqlBase.php
index 7a448f0..2ff55d5 100644
--- a/core/modules/migrate/src/Plugin/migrate/source/SqlBase.php
+++ b/core/modules/migrate/src/Plugin/migrate/source/SqlBase.php
@@ -103,6 +103,24 @@ protected function prepareQuery() {
     $this->query->addTag('migrate_' . $this->migration->id());
     $this->query->addMetaData('migration', $this->migration);
 
+    // If an ID list is provided, filter on it. This only works for single-value
+    // keys, so throw an exception if the key is multi-value.
+    if (isset($this->configuration['idlist'])) {
+      $key = $this->getIds();
+      if (count($key) == 1) {
+        $field = key($key);
+        // If a table alias was provided, prepend it in order to prevent
+        // the possibility of 'ambiguous column' errors.
+        if (isset($key[$field]['alias'])) {
+          $field = $key[$field]['alias'] . '.' . $field;
+        }
+        $this->query->condition($field, $this->configuration['idlist'], 'IN');
+      }
+      else {
+        throw new \LogicException('Cannot filter on multi-value key.');
+      }
+    }
+
     return $this->query;
   }
 
@@ -116,19 +134,8 @@ protected function initializeIterator() {
     $this->prepareQuery();
     $high_water_property = $this->migration->get('highWaterProperty');
 
-    // Get the key values, for potential use in joining to the map table, or
-    // enforcing idlist.
-    $keys = array();
-
-    // The rules for determining what conditions to add to the query are as
-    // follows (applying first applicable rule)
-    // 1. If idlist is provided, then only process items in that list (AND key
-    //    IN (idlist)). Only applicable with single-value keys.
-    if ($id_list = $this->migration->get('idlist')) {
-      $this->query->condition($keys[0], $id_list, 'IN');
-    }
-    else {
-      // 2. If the map is joinable, join it. We will want to accept all rows
+    if (empty($this->configuration['idlist'])) {
+      // 1. If the map is joinable, join it. We will want to accept all rows
       //    which are either not in the map, or marked in the map as NEEDS_UPDATE.
       //    Note that if high water fields are in play, we want to accept all rows
       //    above the high water mark in addition to those selected by the map
@@ -163,7 +170,7 @@ protected function initializeIterator() {
           $map_key = 'sourceid' . $count;
           $this->query->addField($alias, $map_key, "migrate_map_$map_key");
         }
-        if ($n = count($this->migration->get('destinationIds'))) {
+        if ($n = count($this->migration->getDestinationPlugin()->getIds())) {
           for ($count = 1; $count <= $n; $count++) {
             $map_key = 'destid' . $count++;
             $this->query->addField($alias, $map_key, "migrate_map_$map_key");
@@ -171,7 +178,7 @@ protected function initializeIterator() {
         }
         $this->query->addField($alias, 'source_row_status', 'migrate_map_source_row_status');
       }
-      // 3. If we are using high water marks, also include rows above the mark.
+      // 2. If we are using high water marks, also include rows above the mark.
       //    But, include all rows if the high water mark is not set.
       if (isset($high_water_property['name']) && ($high_water = $this->migration->getHighWater()) !== '') {
         if (isset($high_water_property['alias'])) {
@@ -200,7 +207,7 @@ protected function initializeIterator() {
    * {@inheritdoc}
    */
   public function count() {
-    return $this->query()->countQuery()->execute()->fetchField();
+    return $this->prepareQuery()->countQuery()->execute()->fetchField();
   }
 
   /**
diff --git a/core/modules/migrate_drupal/tests/src/Unit/source/d6/ActionTest.php b/core/modules/migrate_drupal/tests/src/Unit/source/d6/ActionTest.php
index cc88aef..0250b35 100644
--- a/core/modules/migrate_drupal/tests/src/Unit/source/d6/ActionTest.php
+++ b/core/modules/migrate_drupal/tests/src/Unit/source/d6/ActionTest.php
@@ -24,8 +24,6 @@ class ActionTest extends MigrateSqlSourceTestCase {
   protected $migrationConfiguration = array(
     // The ID of the entity, can be any string.
     'id' => 'test',
-    // Leave it empty for now.
-    'idlist' => array(),
     'source' => array(
       'plugin' => 'd6_action',
     ),
diff --git a/core/modules/migrate_drupal/tests/src/Unit/source/d6/AggregatorFeedTest.php b/core/modules/migrate_drupal/tests/src/Unit/source/d6/AggregatorFeedTest.php
index ecb57ba..e0a2aa1 100644
--- a/core/modules/migrate_drupal/tests/src/Unit/source/d6/AggregatorFeedTest.php
+++ b/core/modules/migrate_drupal/tests/src/Unit/source/d6/AggregatorFeedTest.php
@@ -20,7 +20,6 @@ class AggregatorFeedTest extends MigrateSqlSourceTestCase {
 
   protected $migrationConfiguration = array(
     'id' => 'test',
-    'idlist' => array(),
     'source' => array(
       'plugin' => 'd6_aggregator_feed',
     ),
diff --git a/core/modules/migrate_drupal/tests/src/Unit/source/d6/AggregatorItemTest.php b/core/modules/migrate_drupal/tests/src/Unit/source/d6/AggregatorItemTest.php
index 29c0c0d..ae39e05 100644
--- a/core/modules/migrate_drupal/tests/src/Unit/source/d6/AggregatorItemTest.php
+++ b/core/modules/migrate_drupal/tests/src/Unit/source/d6/AggregatorItemTest.php
@@ -22,8 +22,6 @@ class AggregatorItemTest extends MigrateSqlSourceTestCase {
   protected $migrationConfiguration = array(
     // The ID of the entity, can be any string.
     'id' => 'test',
-    // Leave it empty for now.
-    'idlist' => array(),
     'source' => array(
       'plugin' => 'd6_aggregator_item',
     ),
diff --git a/core/modules/migrate_drupal/tests/src/Unit/source/d6/BlockTest.php b/core/modules/migrate_drupal/tests/src/Unit/source/d6/BlockTest.php
index 79e3344..dd3e87e 100644
--- a/core/modules/migrate_drupal/tests/src/Unit/source/d6/BlockTest.php
+++ b/core/modules/migrate_drupal/tests/src/Unit/source/d6/BlockTest.php
@@ -24,7 +24,6 @@ class BlockTest extends MigrateSqlSourceTestCase {
   protected $migrationConfiguration = array(
     // The ID of the entity, can be any string.
     'id' => 'test',
-    'idlist' => array(),
     'source' => array(
       'plugin' => 'd6_block',
     ),
diff --git a/core/modules/migrate_drupal/tests/src/Unit/source/d6/BoxTest.php b/core/modules/migrate_drupal/tests/src/Unit/source/d6/BoxTest.php
index fdd33ed..6b2bc8a 100644
--- a/core/modules/migrate_drupal/tests/src/Unit/source/d6/BoxTest.php
+++ b/core/modules/migrate_drupal/tests/src/Unit/source/d6/BoxTest.php
@@ -24,8 +24,6 @@ class BoxTest extends MigrateSqlSourceTestCase {
   protected $migrationConfiguration = array(
     // The ID of the entity, can be any string.
     'id' => 'test',
-    // Leave it empty for now.
-    'idlist' => array(),
     'source' => array(
       'plugin' => 'd6_boxes',
     ),
diff --git a/core/modules/migrate_drupal/tests/src/Unit/source/d6/CommentTestBase.php b/core/modules/migrate_drupal/tests/src/Unit/source/d6/CommentTestBase.php
index 0b8f403..9baa67d 100644
--- a/core/modules/migrate_drupal/tests/src/Unit/source/d6/CommentTestBase.php
+++ b/core/modules/migrate_drupal/tests/src/Unit/source/d6/CommentTestBase.php
@@ -22,8 +22,6 @@
   protected $migrationConfiguration = array(
     // The ID of the entity, can be any string.
     'id' => 'test',
-    // Leave it empty for now.
-    'idlist' => array(),
     // This needs to be the identifier of the actual key: cid for comment, nid
     // for node and so on.
     'source' => array(
diff --git a/core/modules/migrate_drupal/tests/src/Unit/source/d6/ContactCategoryTest.php b/core/modules/migrate_drupal/tests/src/Unit/source/d6/ContactCategoryTest.php
index a3c4055..6973223 100644
--- a/core/modules/migrate_drupal/tests/src/Unit/source/d6/ContactCategoryTest.php
+++ b/core/modules/migrate_drupal/tests/src/Unit/source/d6/ContactCategoryTest.php
@@ -20,7 +20,6 @@ class ContactCategoryTest extends MigrateSqlSourceTestCase {
 
   protected $migrationConfiguration = array(
     'id' => 'test',
-    'idlist' => array(),
     'source' => array(
       'plugin' => 'd6_contact_category',
     ),
diff --git a/core/modules/migrate_drupal/tests/src/Unit/source/d6/FieldInstancePerViewModeTest.php b/core/modules/migrate_drupal/tests/src/Unit/source/d6/FieldInstancePerViewModeTest.php
index 0bf81f9..bf0ea58 100644
--- a/core/modules/migrate_drupal/tests/src/Unit/source/d6/FieldInstancePerViewModeTest.php
+++ b/core/modules/migrate_drupal/tests/src/Unit/source/d6/FieldInstancePerViewModeTest.php
@@ -24,8 +24,6 @@ class FieldInstancePerViewModeTest extends MigrateSqlSourceTestCase {
   protected $migrationConfiguration = array(
     // The ID of the entity, can be any string.
     'id' => 'view_mode_test',
-    // Leave it empty for now.
-    'idlist' => array(),
     'source' => array(
       'plugin' => 'd6_field_instance_per_view_mode',
     ),
diff --git a/core/modules/migrate_drupal/tests/src/Unit/source/d6/FieldInstanceTest.php b/core/modules/migrate_drupal/tests/src/Unit/source/d6/FieldInstanceTest.php
index 22300bf..64480ad 100644
--- a/core/modules/migrate_drupal/tests/src/Unit/source/d6/FieldInstanceTest.php
+++ b/core/modules/migrate_drupal/tests/src/Unit/source/d6/FieldInstanceTest.php
@@ -24,8 +24,6 @@ class FieldInstanceTest extends MigrateSqlSourceTestCase {
   protected $migrationConfiguration = [
     // The id of the entity, can be any string.
     'id' => 'test_fieldinstance',
-    // Leave it empty for now.
-    'idlist' => [],
     'source' => [
       'plugin' => 'd6_field_instance',
     ],
diff --git a/core/modules/migrate_drupal/tests/src/Unit/source/d6/FieldTest.php b/core/modules/migrate_drupal/tests/src/Unit/source/d6/FieldTest.php
index e95ac4a..2d0a5d9 100644
--- a/core/modules/migrate_drupal/tests/src/Unit/source/d6/FieldTest.php
+++ b/core/modules/migrate_drupal/tests/src/Unit/source/d6/FieldTest.php
@@ -24,8 +24,6 @@ class FieldTest extends MigrateSqlSourceTestCase {
   protected $migrationConfiguration = array(
     // The id of the entity, can be any string.
     'id' => 'test_field',
-    // Leave it empty for now.
-    'idlist' => array(),
     'source' => array(
       'plugin' => 'd6_field',
     ),
diff --git a/core/modules/migrate_drupal/tests/src/Unit/source/d6/FileTest.php b/core/modules/migrate_drupal/tests/src/Unit/source/d6/FileTest.php
index 52614c9..570a553 100644
--- a/core/modules/migrate_drupal/tests/src/Unit/source/d6/FileTest.php
+++ b/core/modules/migrate_drupal/tests/src/Unit/source/d6/FileTest.php
@@ -22,8 +22,6 @@ class FileTest extends MigrateSqlSourceTestCase {
   protected $migrationConfiguration = array(
     // The ID of the entity, can be any string.
     'id' => 'test',
-    // Leave it empty for now.
-    'idlist' => array(),
     'source' => array(
       'plugin' => 'd6_file',
     ),
diff --git a/core/modules/migrate_drupal/tests/src/Unit/source/d6/FilterFormatTest.php b/core/modules/migrate_drupal/tests/src/Unit/source/d6/FilterFormatTest.php
index 49ec31a..384fd9d 100644
--- a/core/modules/migrate_drupal/tests/src/Unit/source/d6/FilterFormatTest.php
+++ b/core/modules/migrate_drupal/tests/src/Unit/source/d6/FilterFormatTest.php
@@ -24,7 +24,6 @@ class FilterFormatTest extends MigrateSqlSourceTestCase {
   protected $migrationConfiguration = array(
     'id' => 'test',
     'highWaterProperty' => array('field' => 'test'),
-    'idlist' => array(),
     'source' => array(
       'plugin' => 'd6_filter_formats',
     ),
diff --git a/core/modules/migrate_drupal/tests/src/Unit/source/d6/MenuLinkSourceTest.php b/core/modules/migrate_drupal/tests/src/Unit/source/d6/MenuLinkSourceTest.php
index fb9e0e7..69b6651 100644
--- a/core/modules/migrate_drupal/tests/src/Unit/source/d6/MenuLinkSourceTest.php
+++ b/core/modules/migrate_drupal/tests/src/Unit/source/d6/MenuLinkSourceTest.php
@@ -24,8 +24,6 @@ class MenuLinkSourceTest extends MigrateSqlSourceTestCase {
   protected $migrationConfiguration = array(
     // The ID of the entity, can be any string.
     'id' => 'mlid',
-    // Leave it empty for now.
-    'idlist' => array(),
     // This needs to be the identifier of the actual key: cid for comment, nid
     // for node and so on.
     'source' => array(
diff --git a/core/modules/migrate_drupal/tests/src/Unit/source/d6/MenuTest.php b/core/modules/migrate_drupal/tests/src/Unit/source/d6/MenuTest.php
index 4ec45b4..b448ed2 100644
--- a/core/modules/migrate_drupal/tests/src/Unit/source/d6/MenuTest.php
+++ b/core/modules/migrate_drupal/tests/src/Unit/source/d6/MenuTest.php
@@ -24,8 +24,6 @@ class MenuTest extends MigrateSqlSourceTestCase {
   protected $migrationConfiguration = array(
     // The ID of the entity, can be any string.
     'id' => 'test',
-    // Leave it empty for now.
-    'idlist' => array(),
     // This needs to be the identifier of the actual key: cid for comment, nid
     // for node and so on.
     'source' => array(
diff --git a/core/modules/migrate_drupal/tests/src/Unit/source/d6/NodeByNodeTypeTest.php b/core/modules/migrate_drupal/tests/src/Unit/source/d6/NodeByNodeTypeTest.php
index 2370bd8..c283bc6 100644
--- a/core/modules/migrate_drupal/tests/src/Unit/source/d6/NodeByNodeTypeTest.php
+++ b/core/modules/migrate_drupal/tests/src/Unit/source/d6/NodeByNodeTypeTest.php
@@ -21,8 +21,6 @@ class NodeByNodeTypeTest extends MigrateSqlSourceTestCase {
   // The fake Migration configuration entity.
   protected $migrationConfiguration = array(
     'id' => 'test',
-    // Leave it empty for now.
-    'idlist' => array(),
     // The fake configuration for the source.
     'source' => array(
       'plugin' => 'd6_node',
diff --git a/core/modules/migrate_drupal/tests/src/Unit/source/d6/NodeIdListTest.php b/core/modules/migrate_drupal/tests/src/Unit/source/d6/NodeIdListTest.php
new file mode 100644
index 0000000..7c4d488
--- /dev/null
+++ b/core/modules/migrate_drupal/tests/src/Unit/source/d6/NodeIdListTest.php
@@ -0,0 +1,35 @@
+<?php
+
+/**
+ * @file
+ * Contains \Drupal\Tests\migrate_drupal\Unit\source\d6\NodeIdListTest.
+ */
+
+namespace Drupal\Tests\migrate_drupal\Unit\source\d6;
+
+/**
+ * Tests D6 node source plugin.
+ *
+ * @group migrate_drupal
+ */
+class NodeIdListTest extends NodeTest {
+
+  // The fake Migration configuration entity.
+  protected $migrationConfiguration = array(
+    'id' => 'test',
+    // The fake configuration for the source.
+    'source' => array(
+      'plugin' => 'd6_node',
+      'idlist' => array(1),
+    ),
+  );
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function setUp() {
+    parent::setUp();
+    $this->expectedResults = array_slice($this->expectedResults, 0, 1);
+  }
+
+}
diff --git a/core/modules/migrate_drupal/tests/src/Unit/source/d6/NodeRevisionByNodeTypeTest.php b/core/modules/migrate_drupal/tests/src/Unit/source/d6/NodeRevisionByNodeTypeTest.php
index e4e7acb..54db37e 100644
--- a/core/modules/migrate_drupal/tests/src/Unit/source/d6/NodeRevisionByNodeTypeTest.php
+++ b/core/modules/migrate_drupal/tests/src/Unit/source/d6/NodeRevisionByNodeTypeTest.php
@@ -21,8 +21,6 @@ class NodeRevisionByNodeTypeTest extends MigrateSqlSourceTestCase {
   // The fake Migration configuration entity.
   protected $migrationConfiguration = [
     'id' => 'test',
-    // Leave it empty for now.
-    'idlist' => [],
     // The fake configuration for the source.
     'source' => [
       'plugin' => 'd6_node_revision',
diff --git a/core/modules/migrate_drupal/tests/src/Unit/source/d6/NodeRevisionTest.php b/core/modules/migrate_drupal/tests/src/Unit/source/d6/NodeRevisionTest.php
index 4dde4b1..1bd0520 100644
--- a/core/modules/migrate_drupal/tests/src/Unit/source/d6/NodeRevisionTest.php
+++ b/core/modules/migrate_drupal/tests/src/Unit/source/d6/NodeRevisionTest.php
@@ -21,8 +21,6 @@ class NodeRevisionTest extends MigrateSqlSourceTestCase {
   // The fake Migration configuration entity.
   protected $migrationConfiguration = [
     'id' => 'test',
-    // Leave it empty for now.
-    'idlist' => [],
     // The fake configuration for the source.
     'source' => [
       'plugin' => 'd6_node_revision',
diff --git a/core/modules/migrate_drupal/tests/src/Unit/source/d6/NodeTest.php b/core/modules/migrate_drupal/tests/src/Unit/source/d6/NodeTest.php
index a108f61..24c9049 100644
--- a/core/modules/migrate_drupal/tests/src/Unit/source/d6/NodeTest.php
+++ b/core/modules/migrate_drupal/tests/src/Unit/source/d6/NodeTest.php
@@ -21,8 +21,6 @@ class NodeTest extends MigrateSqlSourceTestCase {
   // The fake Migration configuration entity.
   protected $migrationConfiguration = array(
     'id' => 'test',
-    // Leave it empty for now.
-    'idlist' => array(),
     // The fake configuration for the source.
     'source' => array(
       'plugin' => 'd6_node',
diff --git a/core/modules/migrate_drupal/tests/src/Unit/source/d6/NodeTypeTest.php b/core/modules/migrate_drupal/tests/src/Unit/source/d6/NodeTypeTest.php
index 5d80aca..530414e 100644
--- a/core/modules/migrate_drupal/tests/src/Unit/source/d6/NodeTypeTest.php
+++ b/core/modules/migrate_drupal/tests/src/Unit/source/d6/NodeTypeTest.php
@@ -24,8 +24,6 @@ class NodeTypeTest extends MigrateSqlSourceTestCase {
   protected $migrationConfiguration = array(
     // The ID of the entity, can be any string.
     'id' => 'test_nodetypes',
-    // Leave it empty for now.
-    'idlist' => array(),
     'source' => array(
       'plugin' => 'd6_nodetype',
     ),
diff --git a/core/modules/migrate_drupal/tests/src/Unit/source/d6/ProfileFieldTest.php b/core/modules/migrate_drupal/tests/src/Unit/source/d6/ProfileFieldTest.php
index 4a8609e..51cabb0 100644
--- a/core/modules/migrate_drupal/tests/src/Unit/source/d6/ProfileFieldTest.php
+++ b/core/modules/migrate_drupal/tests/src/Unit/source/d6/ProfileFieldTest.php
@@ -24,8 +24,6 @@ class ProfileFieldTest extends MigrateSqlSourceTestCase {
   protected $migrationConfiguration = [
     // The id of the entity, can be any string.
     'id' => 'test_profile_fields',
-    // Leave it empty for now.
-    'idlist' => [],
     'source' => [
       'plugin' => 'd6_profile_field',
     ],
diff --git a/core/modules/migrate_drupal/tests/src/Unit/source/d6/RoleTest.php b/core/modules/migrate_drupal/tests/src/Unit/source/d6/RoleTest.php
index e9311d7..8f3c08c 100644
--- a/core/modules/migrate_drupal/tests/src/Unit/source/d6/RoleTest.php
+++ b/core/modules/migrate_drupal/tests/src/Unit/source/d6/RoleTest.php
@@ -24,8 +24,6 @@ class RoleTest extends MigrateSqlSourceTestCase {
   protected $migrationConfiguration = array(
     // The ID of the entity, can be any string.
     'id' => 'test',
-    // Leave it empty for now.
-    'idlist' => array(),
     // This needs to be the identifier of the actual key: cid for comment, nid
     // for node and so on.
     'source' => array(
diff --git a/core/modules/migrate_drupal/tests/src/Unit/source/d6/TermTestBase.php b/core/modules/migrate_drupal/tests/src/Unit/source/d6/TermTestBase.php
index ba8129c..7f2de9f 100644
--- a/core/modules/migrate_drupal/tests/src/Unit/source/d6/TermTestBase.php
+++ b/core/modules/migrate_drupal/tests/src/Unit/source/d6/TermTestBase.php
@@ -19,7 +19,6 @@
   protected $migrationConfiguration = array(
     'id' => 'test',
     'highWaterProperty' => array('field' => 'test'),
-    'idlist' => array(),
     'source' => array(
       'plugin' => 'd6_taxonomy_term',
     ),
diff --git a/core/modules/migrate_drupal/tests/src/Unit/source/d6/UrlAliasTest.php b/core/modules/migrate_drupal/tests/src/Unit/source/d6/UrlAliasTest.php
index 780ed0b..6177894 100644
--- a/core/modules/migrate_drupal/tests/src/Unit/source/d6/UrlAliasTest.php
+++ b/core/modules/migrate_drupal/tests/src/Unit/source/d6/UrlAliasTest.php
@@ -21,7 +21,6 @@ class UrlAliasTest extends MigrateSqlSourceTestCase {
   protected $migrationConfiguration = array(
     'id' => 'test',
     'highWaterProperty' => array('field' => 'test'),
-    'idlist' => array(),
     'source' => array(
       'plugin' => 'd6_url_alias',
     ),
diff --git a/core/modules/migrate_drupal/tests/src/Unit/source/d6/UserPictureTest.php b/core/modules/migrate_drupal/tests/src/Unit/source/d6/UserPictureTest.php
index de70385..5f7b6fe 100644
--- a/core/modules/migrate_drupal/tests/src/Unit/source/d6/UserPictureTest.php
+++ b/core/modules/migrate_drupal/tests/src/Unit/source/d6/UserPictureTest.php
@@ -20,7 +20,6 @@ class UserPictureTest extends MigrateSqlSourceTestCase {
 
   protected $migrationConfiguration = array(
     'id' => 'test_user_picture',
-    'idlist' => array(),
     'source' => array(
       'plugin' => 'd6_user_picture',
     ),
diff --git a/core/modules/migrate_drupal/tests/src/Unit/source/d6/UserTest.php b/core/modules/migrate_drupal/tests/src/Unit/source/d6/UserTest.php
index 36d4b67..29a4c10 100644
--- a/core/modules/migrate_drupal/tests/src/Unit/source/d6/UserTest.php
+++ b/core/modules/migrate_drupal/tests/src/Unit/source/d6/UserTest.php
@@ -20,7 +20,6 @@ class UserTest extends MigrateSqlSourceTestCase {
 
   protected $migrationConfiguration = array(
     'id' => 'test',
-    'idlist' => array(),
     'source' => array(
       'plugin' => 'd6_user',
     ),
diff --git a/core/modules/migrate_drupal/tests/src/Unit/source/d6/ViewModeTest.php b/core/modules/migrate_drupal/tests/src/Unit/source/d6/ViewModeTest.php
index 250549f..d285dcd 100644
--- a/core/modules/migrate_drupal/tests/src/Unit/source/d6/ViewModeTest.php
+++ b/core/modules/migrate_drupal/tests/src/Unit/source/d6/ViewModeTest.php
@@ -24,8 +24,6 @@ class ViewModeTest extends MigrateSqlSourceTestCase {
   protected $migrationConfiguration = array(
     // The ID of the entity, can be any string.
     'id' => 'view_mode_test',
-    // Leave it empty for now.
-    'idlist' => array(),
     'source' => array(
       'plugin' => 'd6_field_instance_view_mode',
     ),
diff --git a/core/modules/migrate_drupal/tests/src/Unit/source/d6/VocabularyTest.php b/core/modules/migrate_drupal/tests/src/Unit/source/d6/VocabularyTest.php
index 2c0d5e6..f5e273a 100644
--- a/core/modules/migrate_drupal/tests/src/Unit/source/d6/VocabularyTest.php
+++ b/core/modules/migrate_drupal/tests/src/Unit/source/d6/VocabularyTest.php
@@ -22,8 +22,6 @@ class VocabularyTest extends MigrateSqlSourceTestCase {
   protected $migrationConfiguration = [
     // The ID of the entity, can be any string.
     'id' => 'test',
-    // Leave it empty for now.
-    'idlist' => [],
     'source' => [
       'plugin' => 'd6_vocabulary',
     ],
