diff --git a/src/jamidht/jamiaccount.h b/src/jamidht/jamiaccount.h
index 78b24369043791f01e4a1e2a012e636c7fcfe0c0..1b0ab9520205fb13cef898a0303ddf6d6a223257 100644
--- a/src/jamidht/jamiaccount.h
+++ b/src/jamidht/jamiaccount.h
@@ -147,7 +147,7 @@ public:
 
     std::unique_ptr<AccountConfig> buildConfig() const override
     {
-        return std::make_unique<JamiAccountConfig>(getAccountID(), idPath_.string());
+        return std::make_unique<JamiAccountConfig>(getAccountID(), idPath_);
     }
 
     /**
diff --git a/src/jamidht/jamiaccount_config.h b/src/jamidht/jamiaccount_config.h
index afd0abb5b2b328fd012bb7c0ed219d0ef69a1e07..e50d013147b1fe094d32ad798c13d316245836f3 100644
--- a/src/jamidht/jamiaccount_config.h
+++ b/src/jamidht/jamiaccount_config.h
@@ -26,7 +26,7 @@ constexpr static const char* DEFAULT_TURN_PWD = "ring";
 constexpr static const char* DEFAULT_TURN_REALM = "ring";
 
 struct JamiAccountConfig : public SipAccountBaseConfig {
-    JamiAccountConfig(const std::string& id = {}, const std::string& path = {})
+    JamiAccountConfig(const std::string& id = {}, const std::filesystem::path& path = {})
         : SipAccountBaseConfig(std::string(ACCOUNT_TYPE_JAMI), id, path)
     {
         // Default values specific to Jami accounts
diff --git a/src/sip/sipaccount_config.h b/src/sip/sipaccount_config.h
index 5f0e2b7bd8247f24a3518d76e5eac3ec49de7d50..9d74269ea8b7432ffddf7f19ee98ce2934133b30 100644
--- a/src/sip/sipaccount_config.h
+++ b/src/sip/sipaccount_config.h
@@ -21,7 +21,7 @@ namespace jami {
 constexpr static std::string_view ACCOUNT_TYPE_SIP = "SIP";
 
 struct SipAccountConfig : public SipAccountBaseConfig {
-    SipAccountConfig(const std::string& id = {}, const std::string& path = {}): SipAccountBaseConfig(std::string(ACCOUNT_TYPE_SIP), id, path) {}
+    SipAccountConfig(const std::string& id = {}, const std::filesystem::path& path = {}): SipAccountBaseConfig(std::string(ACCOUNT_TYPE_SIP), id, path) {}
     void serialize(YAML::Emitter& out) const override;
     void unserialize(const YAML::Node& node) override;
     std::map<std::string, std::string> toMap() const override;
diff --git a/src/sip/sipaccountbase_config.h b/src/sip/sipaccountbase_config.h
index 3aaa3cfd65b3f40f80618aafe0ba595868e9d953..318024542d67357dd418737a3676c06be3f5fca7 100644
--- a/src/sip/sipaccountbase_config.h
+++ b/src/sip/sipaccountbase_config.h
@@ -24,7 +24,7 @@ constexpr static unsigned MAX_PORT {65536};
 constexpr static unsigned HALF_MAX_PORT {MAX_PORT / 2};
 
 struct SipAccountBaseConfig: public AccountConfig {
-    SipAccountBaseConfig(const std::string& type, const std::string& id, const std::string& path)
+    SipAccountBaseConfig(const std::string& type, const std::string& id, const std::filesystem::path& path)
         : AccountConfig(type, id, path) {}
 
     void serializeDiff(YAML::Emitter& out, const SipAccountBaseConfig& def) const;