diff --git a/src/sbbs3/ftpsrvr.c b/src/sbbs3/ftpsrvr.c
index a92d567d805eadd6c65e598e72db4c401455ec1d..ed80a5757f76733b03c68bc241551a160efd95a8 100644
--- a/src/sbbs3/ftpsrvr.c
+++ b/src/sbbs3/ftpsrvr.c
@@ -145,6 +145,11 @@ static int lprintf(char *fmt, ...)
     if(startup==NULL || startup->lputs==NULL)
         return(0);
 
+#if defined(_WIN32)
+	if(IsBadCodePtr((FARPROC)startup->lputs))
+		return(0);
+#endif
+
     va_start(argptr,fmt);
     vsprintf(sbuf,fmt,argptr);
     va_end(argptr);
@@ -2159,7 +2164,6 @@ static void ctrl_thread(void* arg)
 	char		qwkfile[MAX_PATH+1];
 	char		aliasfile[MAX_PATH+1];
 	char		aliasline[512];
-	char		alias_buf[80];
 	char		desc[501]="";
 	char		sys_pass[128];
 	char*		host_name;
diff --git a/src/sbbs3/mailsrvr.c b/src/sbbs3/mailsrvr.c
index 9250378fe6a627725c2b30c6201098d2f5c0c6dd..edee9664becea083b0dd1f0a9a4130c61339bf13 100644
--- a/src/sbbs3/mailsrvr.c
+++ b/src/sbbs3/mailsrvr.c
@@ -107,6 +107,11 @@ static int lprintf(char *fmt, ...)
     if(startup==NULL || startup->lputs==NULL)
         return(0);
 
+#if defined(_WIN32)
+	if(IsBadCodePtr((FARPROC)startup->lputs))
+		return(0);
+#endif
+
 	va_start(argptr,fmt);
     vsprintf(sbuf,fmt,argptr);
     va_end(argptr);
diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp
index a15b214f2d5843d0e2bcdd95c420e73914d9c112..4d19d27c9ecfa5d9366b871970d1bccf476f5ad1 100644
--- a/src/sbbs3/main.cpp
+++ b/src/sbbs3/main.cpp
@@ -141,6 +141,11 @@ int lprintf(char *fmt, ...)
     if(startup==NULL || startup->lputs==NULL)
         return(0);
 
+#if defined(_WIN32)
+	if(IsBadCodePtr((FARPROC)startup->lputs))
+		return(0);
+#endif
+
     va_start(argptr,fmt);
     vsprintf(sbuf,fmt,argptr);
     va_end(argptr);
diff --git a/src/sbbs3/services.c b/src/sbbs3/services.c
index b1f9715a990f957344504f93c771a7e3fe4c5b8b..b7cd15a9e60348d0a2d5f3cd0cf8f90ab8915935 100644
--- a/src/sbbs3/services.c
+++ b/src/sbbs3/services.c
@@ -113,6 +113,11 @@ static int lprintf(char *fmt, ...)
     if(startup==NULL || startup->lputs==NULL)
         return(0);
 
+#if defined(_WIN32)
+	if(IsBadCodePtr((FARPROC)startup->lputs))
+		return(0);
+#endif
+
 	va_start(argptr,fmt);
     vsprintf(sbuf,fmt,argptr);
     va_end(argptr);