diff --git a/main/tcptls.c b/main/tcptls.c
index bc5e58d5cc6e27522577269f8362ec1e95fb8214..a480508e39d8fd6b86d7b4c0f4d48b2624b771ca 100644
--- a/main/tcptls.c
+++ b/main/tcptls.c
@@ -707,8 +707,9 @@ void *ast_tcptls_server_root(void *data)
 		}
 		fd = ast_accept(desc->accept_fd, &addr);
 		if (fd < 0) {
-			if ((errno != EAGAIN) && (errno != EINTR)) {
+			if ((errno != EAGAIN) && (errno != EWOULDBLOCK) && (errno != EINTR) && (errno != ECONNABORTED)) {
 				ast_log(LOG_WARNING, "Accept failed: %s\n", strerror(errno));
+				break;
 			}
 			continue;
 		}