diff --git a/module/VuFind/src/VuFind/ILS/Driver/KohaRest.php b/module/VuFind/src/VuFind/ILS/Driver/KohaRest.php
index e916c521e30e55560bc1d5e4ec67aabc87d8d926..8d5c384fe718ce67d44d060192552a9e84b3de90 100644
--- a/module/VuFind/src/VuFind/ILS/Driver/KohaRest.php
+++ b/module/VuFind/src/VuFind/ILS/Driver/KohaRest.php
@@ -613,7 +613,7 @@ class KohaRest extends \VuFind\ILS\Driver\AbstractBase implements
             }
             $holds[] = [
                 'id' => $entry['biblio_id'],
-                'item_id' => $entry['item_id'] ?? null,
+                'item_id' => $entry['hold_id'],
                 'requestId' => $entry['hold_id'],
                 'location' => $this->getLibraryName(
                     $entry['pickup_library_id'] ?? null
@@ -649,7 +649,7 @@ class KohaRest extends \VuFind\ILS\Driver\AbstractBase implements
     public function getCancelHoldDetails($holdDetails)
     {
         return $holdDetails['available'] || $holdDetails['in_transit'] ? ''
-            : $holdDetails['requestId'] . '|' . $holdDetails['item_id'];
+            : $holdDetails['item_id'];
     }
 
     /**
@@ -669,8 +669,7 @@ class KohaRest extends \VuFind\ILS\Driver\AbstractBase implements
         $count = 0;
         $response = [];
 
-        foreach ($details as $detail) {
-            list($holdId, $itemId) = explode('|', $detail, 2);
+        foreach ($details as $holdId) {
             $result = $this->makeRequest(
                 [
                     'path' => ['v1', 'holds', $holdId],
@@ -679,14 +678,14 @@ class KohaRest extends \VuFind\ILS\Driver\AbstractBase implements
                 ]
             );
 
-            if (200 === $result['code']) {
-                $response[$itemId] = [
+            if (200 === $result['code'] || 204 === $result['code']) {
+                $response[$holdId] = [
                     'success' => true,
                     'status' => 'hold_cancel_success'
                 ];
                 ++$count;
             } else {
-                $response[$itemId] = [
+                $response[$holdId] = [
                     'success' => false,
                     'status' => 'hold_cancel_fail',
                     'sysMessage' => false