diff --git a/src/sbbs3/websrvr.c b/src/sbbs3/websrvr.c
index 03db4784bef07a1ddc7f57ab75dfb85435148ef9..2b152bbc88982d4a07d68a8610ce68c05b7ad006 100644
--- a/src/sbbs3/websrvr.c
+++ b/src/sbbs3/websrvr.c
@@ -4387,6 +4387,10 @@ void DLLCALL web_server(void* arg)
 #ifdef ONE_JS_RUNTIME
 	JSRuntime*      js_runtime;
 #endif
+#ifdef SO_ACCEPTFILTER
+	struct accept_filter_arg afa;
+#endif
+
 	startup=(web_startup_t*)arg;
 
 	web_ver();	/* get CVS revision */
@@ -4553,6 +4557,12 @@ void DLLCALL web_server(void* arg)
  *			lprintf("Cannot set TCP_NOPUSH socket option");
  */
 
+#ifdef SO_ACCEPTFILTER
+		memset(&afa, 0, sizeof(afa));
+		strcpy(afa.af_name, "httpready");
+		setsockopt(server_socket, SOL_SOCKET, SO_ACCEPTFILTER, &afa, sizeof(afa));
+#endif
+
 		lprintf(LOG_INFO,"%04d Web Server socket opened",server_socket);
 
 		/*****************************/