Index: src/openscad.cc
--- src/openscad.cc.orig
+++ src/openscad.cc
@@ -43,6 +43,7 @@
 #include <boost/algorithm/string/predicate.hpp>
 #include <boost/algorithm/string/split.hpp>
 #include <boost/dll/runtime_symbol_info.hpp>
+#include <boost/filesystem/operations.hpp>
 #include <boost/lexical_cast.hpp>
 #include <boost/lexical_cast/bad_lexical_cast.hpp>
 #include <boost/optional/optional.hpp>
@@ -817,7 +818,7 @@ int openscad_main(int argc, char **argv)
 
 #ifndef __EMSCRIPTEN__
   const auto applicationPath =
-    weakly_canonical(boost::dll::program_location()).parent_path().generic_string();
+    boost::filesystem::system_complete(argv[0]).parent_path().generic_string();
 #else
   const auto applicationPath = boost::dll::fs::current_path();
 #endif
