diff --git a/src/authority/storagehelper.cpp b/src/authority/storagehelper.cpp
index f252438fda3aa356eadbc6fa58ecc6006ada17b0..0ca2a5c1e19b564c88eacca74d85718067986446 100644
--- a/src/authority/storagehelper.cpp
+++ b/src/authority/storagehelper.cpp
@@ -48,6 +48,11 @@ namespace storage {
 QString
 getPath()
 {
+#ifdef Q_OS_WIN
+    auto definedDataDir = qEnvironmentVariable("JAMI_DATA_HOME");
+    if (!definedDataDir.isEmpty())
+        return QDir(definedDataDir).absolutePath() + "/";
+#endif
     QDir dataDir(QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation));
     // Avoid to depends on the client name.
     dataDir.cdUp();
diff --git a/src/database.cpp b/src/database.cpp
index 923f30b4214da8cfecb4d5666991e0f0ae730a7c..9ea4055b2435c6a5d769181d673f3c054e2a78b9 100644
--- a/src/database.cpp
+++ b/src/database.cpp
@@ -68,15 +68,11 @@ Database::Database(const QString& name, const QString& basePath)
     QString databaseFileName = databaseFile.fileName();
     auto absoluteDir = databaseFile.absoluteDir();
 
-#ifdef ENABLE_TEST
-    databaseFullPath_ = QDir(QStandardPaths::writableLocation(QStandardPaths::TempLocation))
-                            .filePath(databaseFileName);
-#else
     // make sure the directory exists
     if (!absoluteDir.exists())
         absoluteDir.mkpath(".");
     databaseFullPath_ = absoluteDir.filePath(databaseFileName);
-#endif
+
     db_.setDatabaseName(databaseFullPath_);
 }