diff --git a/module/VuFind/src/VuFind/Controller/Plugin/AbstractRequestBase.php b/module/VuFind/src/VuFind/Controller/Plugin/AbstractRequestBase.php
index 4d3b289626933873457e85a81cd4cfc74ccfdeb4..eba75a7bed38bedb02291cc0606660e6f3ae6884 100644
--- a/module/VuFind/src/VuFind/Controller/Plugin/AbstractRequestBase.php
+++ b/module/VuFind/src/VuFind/Controller/Plugin/AbstractRequestBase.php
@@ -120,7 +120,10 @@ abstract class AbstractRequestBase extends AbstractPlugin
 
         $keyValueArray = array();
         foreach ($linkData as $details) {
-            $keyValueArray[$details] = $params->fromQuery($details);
+            // We expect most parameters to come via query, but some (mainly ID) may
+            // be in the route:
+            $keyValueArray[$details]
+                = $params->fromQuery($details, $params->fromRoute($details));
         }
         $hashKey = $this->hmac->generate($linkData, $keyValueArray);