diff --git a/src/sbbs3/file.cpp b/src/sbbs3/file.cpp
index 428cd6a4c919c5d5d7749bb084d243cc134e8ce1..ab6268c5749332a62dcc5b9cb4968468ed2c89b8 100644
--- a/src/sbbs3/file.cpp
+++ b/src/sbbs3/file.cpp
@@ -69,8 +69,11 @@ void sbbs_t::showfileinfo(file_t* f, bool show_extdesc)
 	if(f->author_org)
 		bprintf(P_TRUNCATE, text[FiGroup], f->author_org);
 	char* p = f->hdr.attr&MSG_ANONYMOUS ? text[UNKNOWN_USER] : f->from;
-	if(p != NULL && *p != '\0')
+	if(p != NULL && *p != '\0') {
 		bprintf(P_TRUNCATE, text[FiUploadedBy], p);
+		if(f->from_prot != NULL)
+			bprintf(P_TRUNCATE, " via %s ", f->from_prot);
+	}
 	if(is_op) {
 		*tmp = '\0';
 		if(f->from_ip != NULL)
@@ -79,10 +82,6 @@ void sbbs_t::showfileinfo(file_t* f, bool show_extdesc)
 			SAFEPRINTF(tmp2, "%s ", f->from_host);
 			SAFECAT(tmp, tmp2);
 		}
-		if(f->from_prot != NULL) {
-			SAFEPRINTF(tmp2, "via %s ", f->from_prot);
-			SAFECAT(tmp, tmp2);
-		}
 		if(*tmp != '\0')
 			bprintf(P_TRUNCATE, text[FiUploadedBy], tmp);
 	}