diff --git a/indra/llcrashlogger/llcrashlock.cpp b/indra/llcrashlogger/llcrashlock.cpp
index 7dde1fcd69fbd1a0b2617ad38e73077aaf416142..77abfbcf0f7b1b40f34739e08e72685d23e59dfd 100644
--- a/indra/llcrashlogger/llcrashlock.cpp
+++ b/indra/llcrashlogger/llcrashlock.cpp
@@ -188,12 +188,22 @@ LLSD LLCrashLock::getProcessList()
 //static
 bool LLCrashLock::fileExists(std::string filename)
 {
-	return boost::filesystem::exists(filename.c_str());
+#ifdef LL_WINDOWS // or BOOST_WINDOWS_API
+	boost::filesystem::path file_path(utf8str_to_utf16str(filename));
+#else
+	boost::filesystem::path file_path(filename);
+#endif
+	return boost::filesystem::exists(file_path);
 }
 
 void LLCrashLock::cleanupProcess(std::string proc_dir)
 {
-    boost::filesystem::remove_all(proc_dir);
+#ifdef LL_WINDOWS // or BOOST_WINDOWS_API
+	boost::filesystem::path dir_path(utf8str_to_utf16str(proc_dir));
+#else
+	boost::filesystem::path dir_path(proc_dir);
+#endif
+	boost::filesystem::remove_all(dir_path);
 }
 
 bool LLCrashLock::putProcessList(const LLSD& proc_sd)
diff --git a/indra/llcrashlogger/llcrashlogger.cpp b/indra/llcrashlogger/llcrashlogger.cpp
index d8365eed94730431b9ee93277cd419f19aa7b06d..1d58dba9ab3d00975f1738523d1aa5c30349b345 100644
--- a/indra/llcrashlogger/llcrashlogger.cpp
+++ b/indra/llcrashlogger/llcrashlogger.cpp
@@ -462,7 +462,7 @@ bool LLCrashLogger::sendCrashLog(std::string dump_dir)
     
 	updateApplication("Sending reports...");
 
-	std::ofstream out_file(report_file.c_str());
+	llofstream out_file(report_file.c_str());
 	LLSDSerialize::toPrettyXML(post_data, out_file);
     out_file.flush();
 	out_file.close();