diff --git a/library/modules/Filesystem.cpp b/library/modules/Filesystem.cpp
index 7a6b09a50..d5827f016 100644
--- a/library/modules/Filesystem.cpp
+++ b/library/modules/Filesystem.cpp
@@ -232,17 +232,10 @@ std::filesystem::path Filesystem::canonicalize(std::filesystem::path p) noexcept
 
 std::filesystem::path Filesystem::getInstallDir() noexcept
 {
-    return std::filesystem::path{ DFSDL::DFSDL_GetBasePath() };
+    return std::filesystem::path{ DFSDL::DFSDL_GetPrefPath("", "df_linux") };
 }
 
 std::filesystem::path Filesystem::getBaseDir() noexcept
 {
-    auto getsavebase = []() {
-        // assume portable mode is _on_ if init is missing
-        if (!df::global::init || df::global::init->media.flag.is_set(df::enums::init_media_flags::PORTABLE_MODE))
-            return DFSDL::DFSDL_GetBasePath();
-        else
-            return DFSDL::DFSDL_GetPrefPath("Bay 12 Games", "Dwarf Fortress");
-        };
-    return std::filesystem::path{ getsavebase() };
+    return std::filesystem::path{ DFSDL::DFSDL_GetPrefPath("", "df_linux") };
 }

