diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp
index 9fbe270b389028bdbb0b92b09e90d05712b70a4d..53486c432387846cadecbf4a40413da0f7f7ca00 100644
--- a/src/sbbs3/main.cpp
+++ b/src/sbbs3/main.cpp
@@ -137,16 +137,9 @@ static void thread_down()
 
 int lputs(char* str)
 {
-	if(startup==NULL || startup->lputs==NULL)
+	if(startup==NULL || startup->lputs==NULL || str==NULL)
     	return(0);
 
-#if defined(_WIN32) && defined(_DEBUG)
-	if(IsBadCodePtr((FARPROC)startup->lputs)) {
-		DebugBreak();
-		return(0);
-	}
-#endif
-
     return(startup->lputs(startup->cbdata,LOG_INFO,str));
 }
 
@@ -155,14 +148,11 @@ int lprintf(char *fmt, ...)
 	va_list argptr;
 	char sbuf[1024];
 
-    if(startup==NULL || startup->lputs==NULL)
-        return(0);
-
     va_start(argptr,fmt);
     vsnprintf(sbuf,sizeof(sbuf),fmt,argptr);
 	sbuf[sizeof(sbuf)-1]=0;
     va_end(argptr);
-    return(startup->lputs(startup->cbdata,LOG_INFO,sbuf));
+    return(lputs(sbuf));
 }
 
 int eprintf(char *fmt, ...)