diff --git a/core/modules/migrate/src/Plugin/migrate/id_map/Sql.php b/core/modules/migrate/src/Plugin/migrate/id_map/Sql.php
index cbf4a9f..ace9d29 100644
--- a/core/modules/migrate/src/Plugin/migrate/id_map/Sql.php
+++ b/core/modules/migrate/src/Plugin/migrate/id_map/Sql.php
@@ -554,8 +554,7 @@ public function lookupDestinationIds(array $source_id_values) {
       throw new MigrateException("Extra unknown items in source IDs");
     }
 
-    $query = $this->getDatabase()->select($this->mapTableName(), 'map')
-      ->fields('map', $this->destinationIdFields());
+    $query = $this->getDatabase()->select($this->mapTableName(), 'map');
     if (count($this->sourceIdFields()) === count($conditions)) {
       // Optimization: Use the primary key.
       $query->condition(self::SOURCE_IDS_HASH, $this->getSourceIDsHash(array_values($conditions)));
@@ -566,7 +565,12 @@ public function lookupDestinationIds(array $source_id_values) {
       }
     }
 
-    return $query->execute()->fetchAll(\PDO::FETCH_NUM);
+    foreach ($this->destinationIdFields() as $destination_field_name => $idmap_field_name) {
+      $query->addField('map', $idmap_field_name, $destination_field_name);
+    }
+
+    $result = $query->execute();
+    return $result->fetchAll(\PDO::FETCH_ASSOC) ?: [];
   }
 
   /**
