diff --git a/aegisub/src/main.cpp b/aegisub/src/main.cpp
index 229783595e178aaacce38ec60d9e365ecd4476f4..c25070a7c144f80d187cbbf0fed70a9a47f671bc 100644
--- a/aegisub/src/main.cpp
+++ b/aegisub/src/main.cpp
@@ -350,7 +350,8 @@ static void UnhandledExeception(bool stackWalk, agi::Context *c) {
 		agi::fs::CreateDirectory(path);
 
 		auto filename = c->subsController->Filename().stem();
-		path /= str(boost::format("%s.%s.ass") % filename % agi::util::strftime("%Y-%m-%d-%H-%M-%S"));
+		filename.replace_extension(str(boost::format("%s.ass") % agi::util::strftime("%Y-%m-%d-%H-%M-%S")));
+		path /= filename;
 		c->subsController->Save(path);
 
 #if wxUSE_STACKWALKER == 1