diff --git a/asterisk.c b/asterisk.c
index 4e8f2591a5e9ac3dbf57d4b1b920596348b6ab74..5ce65ef2f5b49ff5b7861dd6d9f533cd5a6cc48d 100644
--- a/asterisk.c
+++ b/asterisk.c
@@ -597,6 +597,8 @@ static void *listener(void *unused)
 					consoles[x].fd = s;
 					if (ast_pthread_create(&consoles[x].t, &attr, netconsole, &consoles[x])) {
 						ast_log(LOG_ERROR, "Unable to spawn thread to handle connection: %s\n", strerror(errno));
+						close(consoles[x].p[0]);
+						close(consoles[x].p[1]);
 						consoles[x].fd = -1;
 						fdprint(s, "Server failed to spawn thread\n");
 						close(s);