diff --git a/src/sbbs3/file.cpp b/src/sbbs3/file.cpp
index 5dcd06db7242db55dfc4d81ebc6cdf2e6e987599..f13f3051630c922f8a8828b450d0390307c48732 100644
--- a/src/sbbs3/file.cpp
+++ b/src/sbbs3/file.cpp
@@ -346,9 +346,11 @@ bool sbbs_t::editfileinfo(file_t* f)
 		char uploader[LEN_ALIAS + 1];
 		SAFECOPY(uploader, f->from);
 		bputs(text[EditUploader]);
-		if(!getstr(uploader, sizeof(uploader), K_EDIT|K_AUTODEL))
+		getstr(uploader, sizeof(uploader), K_EDIT|K_AUTODEL);
+		if(msgabort(true))
 			return false;
-		smb_new_hfield_str(f, SMB_FILEUPLOADER, uploader);
+		if(*uploader != '\0' || *f->from != '\0')
+			smb_new_hfield_str(f, SMB_FILEUPLOADER, uploader);
 		ultoa(f->cost,str,10);
 		bputs(text[EditCreditValue]);
 		getstr(str,10,K_NUMBER|K_EDIT|K_AUTODEL);