diff --git a/projects/hfsplus-tools/build b/projects/hfsplus-tools/build
index 91c14b36561cb326d5320e2ab28d1a5a0cbc3647..f66ec2956a3644e56070474b56ca935138c587c9 100644
--- a/projects/hfsplus-tools/build
+++ b/projects/hfsplus-tools/build
@@ -11,6 +11,7 @@ tar -xf diskdev_cmds-[% c("version") %].tar.gz
 cd diskdev_cmds-[% c("version") %]
 
 patch -p1 < $rootdir/newfs_hfs.diff
+patch -p1 < $rootdir/ignore-timezone.diff
 
 make -j[% c("num_procs") %]
 
diff --git a/projects/hfsplus-tools/config b/projects/hfsplus-tools/config
index d81dab25ac526b971c12eb363fd95e349f114d1a..99fc56838ce8d1ccf3d730a957bf8555a6db02f5 100644
--- a/projects/hfsplus-tools/config
+++ b/projects/hfsplus-tools/config
@@ -21,3 +21,6 @@ input_files:
   # exist on Linux (at that path) and is not required on Linux either, and make
   # the UUID deterministic.
   - filename: newfs_hfs.diff
+  # Remove UTCToLocal conversion to avoid a different result when hwclock
+  # is set to local time or utc time (tor-browser-build#40844)
+  - filename: ignore-timezone.diff
diff --git a/projects/hfsplus-tools/ignore-timezone.diff b/projects/hfsplus-tools/ignore-timezone.diff
new file mode 100644
index 0000000000000000000000000000000000000000..37a08372acd04440c046ce5123d119926a0e9b99
--- /dev/null
+++ b/projects/hfsplus-tools/ignore-timezone.diff
@@ -0,0 +1,13 @@
+diff -ru diskdev_cmds-540.1.linux3/newfs_hfs.tproj/makehfs.c diskdev_cmds-540.1.linux3.n/newfs_hfs.tproj/makehfs.c
+--- diskdev_cmds-540.1.linux3/newfs_hfs.tproj/makehfs.c	2012-02-02 23:36:59.000000000 +0100
++++ diskdev_cmds-540.1.linux3.n/newfs_hfs.tproj/makehfs.c	2023-04-17 13:59:41.993000000 +0200
+@@ -463,8 +463,7 @@
+ 	}
+ 	hp->lastMountedVersion = kHFSPlusMountVersion;
+ 
+-	/* NOTE: create date is in local time, not GMT!  */
+-	hp->createDate = UTCToLocal(defaults->createDate);
++	hp->createDate = defaults->createDate;
+ 	hp->modifyDate = defaults->createDate;
+ 	hp->backupDate = 0;
+ 	hp->checkedDate = defaults->createDate;
diff --git a/tools/signing/gatekeeper-bundling.sh b/tools/signing/gatekeeper-bundling.sh
index 417610671c1c09e395b433a523c37d830f7126c9..49e36a596c14d67c8dfa85c3072077c105d50402 100755
--- a/tools/signing/gatekeeper-bundling.sh
+++ b/tools/signing/gatekeeper-bundling.sh
@@ -45,7 +45,7 @@ test -f "$libdmg_file" || \
              "You can build it with:" \
              "  ./rbm/rbm build --target no_containers libdmg-hfsplus" \
              "See var/deps in projects/libdmg-hfsplus/config for the list of build dependencies"
-hfstools_file="$script_dir/../../out/hfsplus-tools/hfsplus-tools-540.1.linux3-66de66.tar.gz"
+hfstools_file="$script_dir/../../out/hfsplus-tools/hfsplus-tools-540.1.linux3-81ff5b.tar.gz"
 test -f "$hfstools_file" || \
   exit_error "$hfstools_file is missing." \
              "You can build it with:" \