diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp
index b398cd98dd10f5c494a0d4bee01e5a099cbb3e3c..76f2111b6267e134fcd673e2e29aebb46cc46f75 100644
--- a/src/sbbs3/main.cpp
+++ b/src/sbbs3/main.cpp
@@ -2021,7 +2021,8 @@ void output_thread(void* arg)
 	}
 #endif
 
-	while(sbbs->online && sbbs->client_socket!=INVALID_SOCKET && !terminate_server) {
+	/* Note: do not terminate when online==FALSE, that is expected for the terminal server output_thread */
+	while(sbbs->client_socket!=INVALID_SOCKET && !terminate_server) {
 		/*
 		 * I'd like to check the linear buffer against the highwater
 		 * at this point, but it would get too clumsy imho - Deuce