diff --git a/indra/newview/llfilepicker.cpp b/indra/newview/llfilepicker.cpp
index a7236d1778f42b1a58d45bd9291a2b3c44784934..7e92643b933c5c630e650605b28c0cc20ce107bd 100644
--- a/indra/newview/llfilepicker.cpp
+++ b/indra/newview/llfilepicker.cpp
@@ -544,11 +544,18 @@ BOOL LLFilePicker::getSaveFile(ESaveFilter filter, const std::string& filename)
 	send_agent_pause();
 	{
 		// NOTA BENE: hitting the file dialog triggers a window focus event, destroying the selection manager!!
-		success = GetSaveFileName(&mOFN);
-		if (success)
+		try
 		{
-			std::string filename = utf16str_to_utf8str(llutf16string(mFilesW));
-			mFiles.push_back(filename);
+			success = GetSaveFileName(&mOFN);
+			if (success)
+			{
+				std::string filename = utf16str_to_utf8str(llutf16string(mFilesW));
+				mFiles.push_back(filename);
+			}
+		}
+		catch (...)
+		{
+			LOG_UNHANDLED_EXCEPTION("");
 		}
 		gKeyboard->resetKeys();
 	}