diff --git a/src/sbbs3/sbbsecho.c b/src/sbbs3/sbbsecho.c
index 554fd9f483e45fd17e64a2f4a4c8f1414e974f9b..d2e48d16a30385f55603b89f637393e7b113f814 100644
--- a/src/sbbs3/sbbsecho.c
+++ b/src/sbbs3/sbbsecho.c
@@ -2340,8 +2340,8 @@ int fmsgtosmsg(uchar HUGE16 *fbuf, fmsghdr_t fmsghdr, uint user, uint subnum)
 
 	if(twit_list) {
 		sprintf(fname,"%stwitlist.cfg",scfg.ctrl_dir);
-		if(findstr(fmsghdr.from,fname)) {
-			printf("Filtering message from twit: %s",fmsghdr.from);
+		if(findstr(fmsghdr.from,fname) || findstr(fmsghdr.to,fname)) {
+			printf("Filtering message from %s to %s",fmsghdr.from,fmsghdr.to);
 			return(0);
 		}
 	}
diff --git a/src/sbbs3/un_qwk.cpp b/src/sbbs3/un_qwk.cpp
index afadb52bbe8a4524a16669792a600b70e0f2763e..72f3cf76f6f81a6e6d0c94d67646fba130773874 100644
--- a/src/sbbs3/un_qwk.cpp
+++ b/src/sbbs3/un_qwk.cpp
@@ -45,6 +45,8 @@ bool sbbs_t::unpack_qwk(char *packet,uint hubnum)
 {
 	char	str[MAX_PATH+1],fname[MAX_PATH+1];
 	char 	tmp[512];
+	char	from[26];
+	char	to[26];
 	char	inbox[MAX_PATH+1];
 	uchar	block[QWK_BLOCK_LEN];
 	int 	k,file;
@@ -200,12 +202,15 @@ bool sbbs_t::unpack_qwk(char *packet,uint hubnum)
 		if(twit_list) {
 			sprintf(fname,"%stwitlist.cfg",cfg.ctrl_dir);
 
-			sprintf(str,"%25.25s",block+46);  /* From user */
-			truncsp(str);
+			sprintf(from,"%25.25s",block+46);  /* From user */
+			truncsp(from);
+			sprintf(to,"%25.25s",block+21);		/* To user */
+			truncsp(to);
 
-			if(findstr(str,fname)) {
-				eprintf(LOG_NOTICE,"!Filtering post from twit (%s) on %s %s"
-					,str
+			if(findstr(from,fname) || findstr(to,fname)) {
+				eprintf(LOG_NOTICE,"!Filtering post from %s to %s on %s %s"
+					,from
+					,to
 					,cfg.grp[cfg.sub[j]->grp]->sname,cfg.sub[j]->lname); 
 				continue; 
 			}
diff --git a/src/sbbs3/un_rep.cpp b/src/sbbs3/un_rep.cpp
index e0113a90ba80e905daf27874beefb69ab0a4a6b9..1c112880acbb39ca4bbb40c088188ab2e5e5d946 100644
--- a/src/sbbs3/un_rep.cpp
+++ b/src/sbbs3/un_rep.cpp
@@ -46,6 +46,8 @@ bool sbbs_t::unpack_rep(char* repfile)
 	char	str[MAX_PATH+1],fname[MAX_PATH+1]
 			,*AttemptedToUploadREPpacket="Attempted to upload REP packet";
 	char 	tmp[512];
+	char	from[26];
+	char	to[26];
 	char	inbox[MAX_PATH+1];
 	char	block[QWK_BLOCK_LEN];
 	int 	file;
@@ -342,13 +344,17 @@ bool sbbs_t::unpack_rep(char* repfile)
 			/* TWIT FILTER */
 			if(twit_list) {
 				sprintf(fname,"%stwitlist.cfg",cfg.ctrl_dir);
-				sprintf(str,"%25.25s",block+46);  /* From user */
-				truncsp(str);
-
-				if(findstr(str,fname)) {
-					sprintf(tmp,"Filtering post from twit (%s) on %s %s"
-						,str,cfg.grp[cfg.sub[n]->grp]->sname,cfg.sub[n]->lname);
-					logline("P!",tmp);
+				sprintf(from,"%25.25s",block+46);	/* From user */
+				truncsp(from);
+				sprintf(to,"%25.25s",block+21);		/* To user */
+				truncsp(to);
+
+				if(findstr(from,fname) || findstr(to,fname)) {
+					sprintf(str,"Filtering post from %s to %s on %s %s"
+						,from
+						,to
+						,cfg.grp[cfg.sub[n]->grp]->sname,cfg.sub[n]->lname);
+					logline("P!",str);
 					continue; 
 				}
 			}