diff --git a/src/sbbs3/main.cpp b/src/sbbs3/main.cpp
index 6b5837efa82efffa1fe223ac54f758600b9e894e..f05d13b206e7f50ec0f306129453571708989c6c 100644
--- a/src/sbbs3/main.cpp
+++ b/src/sbbs3/main.cpp
@@ -1305,6 +1305,8 @@ void input_thread(void *arg)
             while((rd=RingBufFree(&sbbs->inbuf))==0) {
             	if(time(NULL)-start>=5) {
                 	rd=1;
+					if(pthread_mutex_unlock(&sbbs->input_thread_mutex)!=0)
+						sbbs->errormsg(WHERE,ERR_UNLOCK,"input_thread_mutex",0);
                 	break;
                 }
                 YIELD();