diff --git a/src/server/output.c b/src/server/output.c
index 6cd849f0..f8a01bde 100644
--- a/src/server/output.c
+++ b/src/server/output.c
@@ -315,6 +315,7 @@ GString *output_read_reply(OutputModule * output)
 			message = output_read_message(output);
 			pthread_mutex_lock(&output->read_mutex);
 			output->reading_message = FALSE;
+			pthread_cond_signal(&output->reply_cond);
 			if (!message)
 				/* Module broke */
 				break;
@@ -361,6 +362,7 @@ GString *output_read_event(OutputModule * output)
 			message = output_read_message(output);
 			pthread_mutex_lock(&output->read_mutex);
 			output->reading_message = FALSE;
+			pthread_cond_signal(&output->reply_cond);
 			if (!message)
 				/* Module broke */
 				break;
