diff --git a/src/sbbs3/writemsg.cpp b/src/sbbs3/writemsg.cpp
index 5590d0ce661f927a1e7b7230bdd37bd198243ca1..35bc0911af88298cbba2b5687214445caa58a876 100644
--- a/src/sbbs3/writemsg.cpp
+++ b/src/sbbs3/writemsg.cpp
@@ -340,7 +340,8 @@ bool sbbs_t::writemsg(const char *fname, const char *top, char *subj, int mode,
 		/* Quote entire message to MSGTMP or INPUT.MSG */
 
 		if(useron_xedit && cfg.xedit[useron_xedit-1]->misc&QUOTEALL) {
-			quotes_fname(useron_xedit, path, sizeof(path));
+			if(!quotes_fname(useron_xedit, path, sizeof(path)))
+				fexistcase(path);
 			if((stream=fnopen(NULL,path,O_RDONLY))==NULL) {
 				errormsg(WHERE,ERR_OPEN,path,O_RDONLY);
 				free(buf);
@@ -377,7 +378,8 @@ bool sbbs_t::writemsg(const char *fname, const char *top, char *subj, int mode,
 			;
 
 		else if(yesno(text[QuoteMessageQ])) {
-			quotes_fname(useron_xedit, path, sizeof(path));
+			if(!quotes_fname(useron_xedit, path, sizeof(path)))
+				fexistcase(path);
 			if((stream=fnopen(&file,path,O_RDONLY))==NULL) {
 				errormsg(WHERE,ERR_OPEN,path,O_RDONLY);
 				free(buf);