diff --git a/src/sbbs3/ftpsrvr.c b/src/sbbs3/ftpsrvr.c
index d19cba189417e8b14cbaf5575e4425be8a351c8b..3ac4117a8220f5b457949801eb01f7e9f91a1e61 100644
--- a/src/sbbs3/ftpsrvr.c
+++ b/src/sbbs3/ftpsrvr.c
@@ -44,10 +44,6 @@
 	#include <windows.h>	/* required for mmsystem.h */
 	#include <mmsystem.h>	/* SND_ASYNC */
 
-#elif defined(__unix__)
-
-	#include <signal.h>		/* signal/SIGPIPE */
-
 #endif
 
 
@@ -4346,10 +4342,6 @@ void DLLCALL ftp_server(void* arg)
 
 		memset(&scfg, 0, sizeof(scfg));
 
-#ifdef __unix__		/* Ignore "Broken Pipe" signal */
-		signal(SIGPIPE,SIG_IGN);
-#endif
-
 		lprintf("Synchronet FTP Server Revision %s%s"
 			,revision
 #ifdef _DEBUG
diff --git a/src/sbbs3/mailsrvr.c b/src/sbbs3/mailsrvr.c
index 3a25e14444e3486f6d750d4f7c2e10a6e2bc9ea8..8b59da284be84d4c66574c4d236de3456466e3ad 100644
--- a/src/sbbs3/mailsrvr.c
+++ b/src/sbbs3/mailsrvr.c
@@ -44,10 +44,6 @@
 	#include <windows.h>	/* required for mmsystem.h */
 	#include <mmsystem.h>	/* SND_ASYNC */
 
-#elif defined(__unix__)
-
-	#include <signal.h>		/* signal/SIGPIPE */
-
 #endif
 
 
@@ -2863,10 +2859,6 @@ void DLLCALL mail_server(void* arg)
 
 		memset(&scfg, 0, sizeof(scfg));
 
-#ifdef __unix__		/* Ignore "Broken Pipe" signal */
-		signal(SIGPIPE,SIG_IGN);
-#endif
-
 		lprintf("Synchronet Mail Server Revision %s%s"
 			,revision
 #ifdef _DEBUG
diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp
index 198c6f3f07d8ce6fe6a6ac3af1e97801db39aef6..32d769c0276de985fe17f3263dbe20cd560d6d9e 100644
--- a/src/sbbs3/main.cpp
+++ b/src/sbbs3/main.cpp
@@ -3175,10 +3175,6 @@ void DLLCALL bbs_thread(void* arg)
 		return;
 	}
 
-#ifdef __unix__		/* Ignore "Broken Pipe" signal */
-	signal(SIGPIPE,SIG_IGN);
-#endif
-
 	memset(text, 0, sizeof(text));
     memset(&scfg, 0, sizeof(scfg));
 
diff --git a/src/sbbs3/sbbs.h b/src/sbbs3/sbbs.h
index 23e5fffbabee3e15c41b4cf44a3e808358bd1ea5..6a3ae7306d986e3d54f6b42b3f3137e5a312c8fa 100644
--- a/src/sbbs3/sbbs.h
+++ b/src/sbbs3/sbbs.h
@@ -89,7 +89,6 @@
 #include <stdarg.h>
 #include <stdlib.h>
 #include <string.h>
-#include <signal.h>
 
 #ifndef __FreeBSD__
 
diff --git a/src/sbbs3/sbbscon.c b/src/sbbs3/sbbscon.c
index de1059016c0b3446bd5b6bba7a63b227ee1844a8..d54ccb7979af2e66ce37e82bc91b796941b46baf 100644
--- a/src/sbbs3/sbbscon.c
+++ b/src/sbbs3/sbbscon.c
@@ -1179,6 +1179,7 @@ int main(int argc, char** argv)
 	signal(SIGQUIT, _sighandler_quit);
 	signal(SIGABRT, _sighandler_quit);
 	signal(SIGTERM, _sighandler_quit);
+	signal(SIGPIPE, SIG_IGN);	/* Ignore "Broken Pipe" signal */
 
 	if(getuid())  /*  are we running as a normal user?  */
 		bbs_lputs("!Started as non-root user.  Cannot bind() to ports below 1024.");
diff --git a/src/sbbs3/services.c b/src/sbbs3/services.c
index 469547ba31eee5615c35fead82c78b2e9aa43052..9cb169448d37180fd38d446be8cd2647f22bb6ec 100644
--- a/src/sbbs3/services.c
+++ b/src/sbbs3/services.c
@@ -44,10 +44,6 @@
 	#include <windows.h>	/* required for mmsystem.h */
 	#include <mmsystem.h>	/* SND_ASYNC */
 
-#elif defined(__unix__)
-
-	#include <signal.h>		/* signal/SIGPIPE */
-
 #endif
 
 
@@ -1039,10 +1035,6 @@ void DLLCALL services_thread(void* arg)
 
 		memset(&scfg, 0, sizeof(scfg));
 
-#ifdef __unix__		/* Ignore "Broken Pipe" signal */
-		signal(SIGPIPE,SIG_IGN);
-#endif
-
 		lprintf("Synchronet Services Revision %s%s"
 			,revision
 #ifdef _DEBUG