Bug 39750 fixed the case of a transfer with no hold - it seems the same problem can occur when the transfer is for a hold: Line 178 of returns.pl my $hold = Koha::Holds->find($reserve_id); if ($diffBranchSend) { my $tobranch = $hold->pickup_library(); # Add transfer, enqueue if one is already in the queue, and immediately set to in transit my $transfer = $item->request_transfer( { to => $tobranch, reason => 'Reserve', enqueue => 1 } ); $transfer->transit; }