diff --git a/module/VuFind/src/VuFind/Record/Loader.php b/module/VuFind/src/VuFind/Record/Loader.php index accb5179c5c9ffd3169859debc373ddfec744bbb..6ca7e4653ee3310158f0339435d01e9bc08b3e31 100644 --- a/module/VuFind/src/VuFind/Record/Loader.php +++ b/module/VuFind/src/VuFind/Record/Loader.php @@ -148,7 +148,13 @@ class Loader $records = $this->loadBatchForSource(array_keys($details), $source); foreach ($records as $current) { $id = $current->getUniqueId(); - $retVal[$details[$id]] = $current; + // In theory, we should be able to assume that $details[$id] is + // set... but in practice, we can't make that assumption. In some + // cases, Summon IDs will change, and requests for an old ID value + // will return a record with a different ID. + if (isset($details[$id])) { + $retVal[$details[$id]] = $current; + } } }