diff --git a/src/core/crypto/partition_data_manager.cpp b/src/core/crypto/partition_data_manager.cpp
index 7c3d9661d45643e01292bd1d295fe4c52202347a..ff46aad7c43c2fc101dfa0f4b7897dd9d16131a8 100644
--- a/src/core/crypto/partition_data_manager.cpp
+++ b/src/core/crypto/partition_data_manager.cpp
@@ -301,7 +301,7 @@ FileSys::VirtualFile FindFileInDirWithNames(const FileSys::VirtualDir& dir,
     return nullptr;
 }
 
-PartitionDataManager::PartitionDataManager(FileSys::VirtualDir sysdata_dir)
+PartitionDataManager::PartitionDataManager(const FileSys::VirtualDir& sysdata_dir)
     : boot0(FindFileInDirWithNames(sysdata_dir, "BOOT0")),
       fuses(FindFileInDirWithNames(sysdata_dir, "fuse")),
       kfuses(FindFileInDirWithNames(sysdata_dir, "kfuse")),
diff --git a/src/core/crypto/partition_data_manager.h b/src/core/crypto/partition_data_manager.h
index 0822a949c770c57723744606c383eb4af437b412..c5a492a92b575a06e6d7fa4d66d404a6252a825d 100644
--- a/src/core/crypto/partition_data_manager.h
+++ b/src/core/crypto/partition_data_manager.h
@@ -23,7 +23,7 @@ class PartitionDataManager {
 public:
     static const u8 MAX_KEYBLOB_SOURCE_HASH;
 
-    explicit PartitionDataManager(FileSys::VirtualDir sysdata_dir);
+    explicit PartitionDataManager(const FileSys::VirtualDir& sysdata_dir);
     ~PartitionDataManager();
 
     // BOOT0