diff --git a/src/config.rs b/src/config.rs
index f49e8cc64abc61f1dd008ef8f01090fcf41480b7..dd3377dbcbf9b5d5af7ce46e97ef1ca0a6986107 100644
--- a/src/config.rs
+++ b/src/config.rs
@@ -253,6 +253,9 @@ make_config! {
         extended_logging:       bool,   false,  def,    true;
         /// Log file path
         log_file:               String, false,  option;
+
+        /// Enable DB WAL |> Turning this off might lead to worse performance, but might help if using bitwarden_rs on some exotic filesystems, that do not support WAL
+        enable_db_wal:          bool,   false,  def,    true;
     },
 
     /// Yubikey settings
diff --git a/src/main.rs b/src/main.rs
index 45c1fbe7c1723627d60399461082cf4c56b151ec..db6488ff54b24140651c0fffd343f2bf4831f780 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -168,11 +168,13 @@ fn check_db() {
     }
 
     // Turn on WAL in SQLite
-    use diesel::RunQueryDsl;
-    let connection = db::get_connection().expect("Can't conect to DB");
-    diesel::sql_query("PRAGMA journal_mode=wal")
-        .execute(&connection)
-        .expect("Failed to turn on WAL");
+    if CONFIG.enable_db_wal() {
+        use diesel::RunQueryDsl;
+        let connection = db::get_connection().expect("Can't conect to DB");
+        diesel::sql_query("PRAGMA journal_mode=wal")
+            .execute(&connection)
+            .expect("Failed to turn on WAL");
+    }
 }
 
 fn check_rsa_keys() {