diff --git a/src/sbbs3/websrvr.c b/src/sbbs3/websrvr.c
index 08d4652c8decf22efde115116e0f7c1429972ada..ffd5d34c089c04eb03a0abe47a0a5bcf01286710 100644
--- a/src/sbbs3/websrvr.c
+++ b/src/sbbs3/websrvr.c
@@ -4311,9 +4311,11 @@ void http_output_thread(void *arg)
 	thread_down();
 	sem_post(&session->output_thread_terminated);
 	/* Ensure outbuf isn't currently being drained */
-	pthread_mutex_lock(&session->outbuf_write);
-	pthread_mutex_unlock(&session->outbuf_write);
-	pthread_mutex_destroy(&session->outbuf_write);
+	if(session->outbuf_write_initialized) {
+		pthread_mutex_lock(&session->outbuf_write);
+		pthread_mutex_unlock(&session->outbuf_write);
+		pthread_mutex_destroy(&session->outbuf_write);
+	}
 }
 
 void http_session_thread(void* arg)