diff --git a/src/sbbs3/userdat.c b/src/sbbs3/userdat.c
index 186a05e7b037321b142551d6490d7ac9a8ad5d34..eead4473c186b458d9af70930f64e8973d58d6fa 100644
--- a/src/sbbs3/userdat.c
+++ b/src/sbbs3/userdat.c
@@ -1930,7 +1930,7 @@ char* DLLCALL usermailaddr(scfg_t* cfg, char* addr, char* name)
 		strcpy(addr,name);
 		return(addr);
 	}
-	if(strchr(name,'.') && strchr(name,' '))
+	if(strchr(name,'!') || (strchr(name,'.') && strchr(name,' ')))
 		sprintf(addr,"\"%s\"@",name);
 	else {
 		sprintf(addr,"%s@",name);