diff --git a/ReleaseNotes.md b/ReleaseNotes.md
index 672c15c97d3d56b65f56716e350129f122ce7765..96a8b8b31c57b3cc2c026866cd9c20c3b61f90b2 100644
--- a/ReleaseNotes.md
+++ b/ReleaseNotes.md
@@ -14,7 +14,8 @@
 - cta/CTA#645 - Fix new mount timeout log message
 - cta/CTA#666 - Fix drive status activity field not being properly reset
 - cta/CTA#502 - Fix string representation for Cleanup session type
-- cta/CTA#682 - Generate taped's log file with correct owner and group 
+- cta/CTA#682 - Generate taped's log file with correct owner and group
+- cta/CTA#688 - Fix tapeserver umask to allow directory creation in POSIX filesystems
 
 ### Continuous Integration
 - cta/CTA#615 - Going to xrdfs xattr API for EOS5 extended attribute tests (EOS >= 5.2.17)
diff --git a/common/threading/Daemon.cpp b/common/threading/Daemon.cpp
index 5ed5eaf26347b5bb37b3fe46109ad62a27e869f9..e12f6da5d4ea52df3180010e13b403ec26c6df85 100644
--- a/common/threading/Daemon.cpp
+++ b/common/threading/Daemon.cpp
@@ -80,8 +80,9 @@ void cta::server::Daemon::daemonizeIfNotRunInForeground() {
     // For the time being we don't and leave it to the initd script to change
     // to a suitable directory for us.
 
-    // Change the file mode mask: block EXECUTE permission for USER and all permissions for GROUP and OTHER
-    umask(0177);
+    // Change the file mode mask: block all permissions for GROUP and OTHER.
+    // USER requires rwx permission to create local directories for repack.
+    umask(077);
 
     // Run the daemon in a new session
     cta::exception::Errnum::throwOnMinusOne(setsid(),