diff --git a/src/sbbs3/websrvr.c b/src/sbbs3/websrvr.c
index 66409b2eff451f65a9df2b2b03f2870316b8bed2..ee463eccca343ff9c1e10e6aad5a934be916c60d 100644
--- a/src/sbbs3/websrvr.c
+++ b/src/sbbs3/websrvr.c
@@ -4126,6 +4126,7 @@ void http_session_thread(void* arg)
 	close_socket(session.socket);
 	session.socket=INVALID_SOCKET;
 	sem_wait(&session.output_thread_terminated);
+	sem_destroy(&session.output_thread_terminated);
 	RingBufDispose(&session.outbuf);
 
 	active_clients--;
@@ -4293,6 +4294,7 @@ void http_logging_thread(void* arg)
 		fclose(logfile);
 		logfile=NULL;
 	}
+	sem_destroy(&log_sem);
 	thread_down();
 	lprintf(LOG_DEBUG,"%04d http logging thread terminated",server_socket);