diff --git a/src/sbbs3/mailsrvr.c b/src/sbbs3/mailsrvr.c
index 4546f1b349cc164658d7c666297d043f857a1cdd..626079aa33b647630ae46e8914417af56ccadf52 100644
--- a/src/sbbs3/mailsrvr.c
+++ b/src/sbbs3/mailsrvr.c
@@ -3148,7 +3148,7 @@ static void smtp_thread(void* arg)
 				&& !no_forward
 				&& scfg.sys_misc&SM_FWDTONET 
 				&& (user.misc&NETMAIL || forward)
-				&& tp && strchr(tp,'.') && !strchr(tp,'/') 
+				&& tp!=NULL && smb_netaddr_type(user.netmail)==NET_INTERNET 
 				&& !strstr(tp,scfg.sys_inetaddr)) {
 				lprintf(LOG_INFO,"%04d SMTP Forwarding to: %s"
 					,socket, user.netmail);
@@ -3314,7 +3314,7 @@ BOOL bounce(smb_t* smb, smbmsg_t* msg, char* err, BOOL immediate)
 		sprintf(str,"%u",newmsg.idx.to);
 		smb_hfield_str(&newmsg, RECIPIENTEXT, str);
 	}
-	if(newmsg.from_net.type!=NET_NONE && newmsg.from_net.type!=NET_FIDO
+	if((newmsg.from_net.type==NET_QWK || newmsg.from_net.type==NET_INTERNET)
 		&& newmsg.reverse_path!=NULL) {
 		smb_hfield(&newmsg, RECIPIENTNETTYPE, sizeof(newmsg.from_net.type), &newmsg.from_net.type);
 		smb_hfield_str(&newmsg, RECIPIENTNETADDR, newmsg.reverse_path);