diff --git a/liblava/util/file.cpp b/liblava/util/file.cpp
index 3d5e064651ecebbc6aa0016214e26fac638fee15..abae3516af1de0ec7500e30d1f2465990546a7b7 100644
--- a/liblava/util/file.cpp
+++ b/liblava/util/file.cpp
@@ -132,6 +132,10 @@ bool file_system::initialize(name argv_0, name org_, name app_, name ext_) {
 
         PHYSFS_setSaneConfig(org_, app_, ext_, 0, 0);
         initialized = true;
+
+        org = org_;
+        app = app_;
+        ext = ext_;
     }
 
     return initialized;
diff --git a/liblava/util/file.hpp b/liblava/util/file.hpp
index 8556b13c454c9c3c4bac1ef3f57a3515aa353d87..93272db52d43f4748637b1592aa1037eddd584b7 100644
--- a/liblava/util/file.hpp
+++ b/liblava/util/file.hpp
@@ -35,7 +35,7 @@ bool remove_existing_path(string& target, string_ref path);
 
 struct file_guard : no_copy_no_move {
 
-    explicit file_guard(name filename = nullptr) : filename(filename) {}
+    explicit file_guard(name filename = "") : filename(filename) {}
     explicit file_guard(string filename) : filename(filename) {}
 
     ~file_guard() {
@@ -44,7 +44,7 @@ struct file_guard : no_copy_no_move {
             fs::remove(filename);
     }
 
-    string filename = nullptr;
+    string filename;
     bool remove = true;
 };