diff --git a/src/sbbs3/userdat.c b/src/sbbs3/userdat.c
index d766d2ef5717c836400987ba7b9243b5b080a8d2..4aa517b3c3499b1faaf0d41eb011cb592a989f08 100644
--- a/src/sbbs3/userdat.c
+++ b/src/sbbs3/userdat.c
@@ -2601,6 +2601,9 @@ BOOL DLLCALL filter_ip(scfg_t* cfg, char* prot, char* reason, char* host
 	if(fname==NULL)
 		fname=ip_can;
 
+	if(findstr(ip_addr, fname))	/* Already filtered? */
+		return(TRUE);
+
     if((fp=fopen(fname,"a"))==NULL)
     	return(FALSE);