diff --git a/src/fileutils.cpp b/src/fileutils.cpp
index 550b5587ed76ca823e597fef683a276a0953121a..f29e42e2f707f2daf010d0f81a9734af6cd27e6e 100644
--- a/src/fileutils.cpp
+++ b/src/fileutils.cpp
@@ -218,10 +218,12 @@ expand_path(const std::string &path)
 }
 
 std::map<std::string, std::mutex> fileLocks {};
+std::mutex fileLockLock {};
 
 std::mutex&
 getFileLock(const std::string& path)
 {
+    std::lock_guard<std::mutex> l(fileLockLock);
     return fileLocks[path];
 }