diff --git a/installer/data/mysql/atomicupdate/bug_30500.pl b/installer/data/mysql/atomicupdate/bug_30500.pl
new file mode 100755
index 0000000000..6fb2c4413d
--- /dev/null
+++ b/installer/data/mysql/atomicupdate/bug_30500.pl
@@ -0,0 +1,18 @@
+use Modern::Perl;
+
+return {
+ bug_number => "30500",
+ description => "Add option to allow user to change the pickup location while a hold is in transit",
+ up => sub {
+ my ($args) = @_;
+ my ($dbh, $out) = @$args{qw(dbh out)};
+
+ $dbh->do(q{
+ INSERT IGNORE INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `type` )
+ VALUES
+ ('OPACInTransitHoldPickupLocationChange','0',NULL,'Allow user to change the pickup location while a hold is in transit','YesNo')
+ });
+
+ say $out "Added new system preference 'OPACInTransitHoldPickupLocationChange'";
+ },
+ }
diff --git a/installer/data/mysql/mandatory/sysprefs.sql b/installer/data/mysql/mandatory/sysprefs.sql
index 457ce2f61d..2ee04b8329 100644
--- a/installer/data/mysql/mandatory/sysprefs.sql
+++ b/installer/data/mysql/mandatory/sysprefs.sql
@@ -442,6 +442,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `
('OPACHoldsIfAvailableAtPickupExceptions','','','List the patron categories not affected by OPACHoldsIfAvailableAtPickup if off','Free'),
('OpacHoldNotes','0','','Show hold notes on OPAC','YesNo'),
('OPACHoldRequests','1',NULL,'If ON, globally enables patron holds on OPAC','YesNo'),
+('OPACInTransitHoldPickupLocationChange','0',NULL,'Allow user to change the pickup location while a hold is in transit','YesNo'),
('OPACISBD','#100||{ 100a }{ 100b }{ 100c }{ 100d }{ 110a }{ 110b }{ 110c }{ 110d }{ 110e }{ 110f }{ 110g }{ 130a }{ 130d }{ 130f }{ 130g }{ 130h }{ 130k }{ 130l }{ 130m }{ 130n }{ 130o }{ 130p }{ 130r }{ 130s }{ 130t }|
|{ 088a }|','70|10','OPAC ISBD','Textarea'),
('OpacItemLocation','callnum','callnum|ccode|location|library','Show the shelving location of items in the opac','Choice'),
('OpacKohaUrl','1',NULL,'Show \'Powered by Koha\' text on OPAC footer.',NULL),
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref
index 76f4fd1647..488ee65ba1 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref
@@ -714,6 +714,12 @@ Circulation:
1: Allow
0: "Don't allow"
- a patron to renew an item with unfilled holds if other available items can fill that hold.
+ -
+ - pref: OPACInTransitHoldPickupLocationChange
+ choices:
+ 1: Allow
+ 0: "Don't allow"
+ - patrons to change their in transit holds pickup location.
-
- pref: AllowHoldPolicyOverride
choices: