diff -u b/core/modules/migrate/src/Plugin/migrate/id_map/Sql.php b/core/modules/migrate/src/Plugin/migrate/id_map/Sql.php --- b/core/modules/migrate/src/Plugin/migrate/id_map/Sql.php +++ b/core/modules/migrate/src/Plugin/migrate/id_map/Sql.php @@ -562,9 +562,11 @@ $conditions = []; foreach ($this->sourceIdFields() as $field_name => $db_field) { if ($is_associative) { - // Associative $source_id_values can have fields out of order. - if (isset($source_id_values[$field_name])) { - $conditions[$db_field] = $source_id_values[$field_name]; + if (array_key_exists($field_name, $source_id_values)) { + // Associative $source_id_values can have fields out of order. + if (isset($source_id_values[$field_name])) { + $conditions[$db_field] = $source_id_values[$field_name]; + } unset($source_id_values[$field_name]); } }