diff --git a/main/channel.c b/main/channel.c
index 34733af541d94ca17576ec84ff653eef0f71ca6f..ec253ae0466f19de1e3b9680dec973c2471a81d0 100644
--- a/main/channel.c
+++ b/main/channel.c
@@ -2442,7 +2442,8 @@ static struct ast_frame *__ast_read(struct ast_channel *chan, int dropaudio)
 			}
 		}
 		if (read(chan->alertpipe[0], &blah, sizeof(blah)) < 0) {
-			ast_log(LOG_WARNING, "read() failed: %s\n", strerror(errno));
+			if (errno != EINTR && errno != EAGAIN)
+				ast_log(LOG_WARNING, "read() failed: %s\n", strerror(errno));
 		}
 	}