diff --git a/src/core/iomgr/pollset_multipoller_with_poll_posix.c b/src/core/iomgr/pollset_multipoller_with_poll_posix.c
index b619b8c3db03a74efd14e1213bce566dc8456a16..a7282b9896e62370f7a7d78cf83ef6a44a1b1de7 100644
--- a/src/core/iomgr/pollset_multipoller_with_poll_posix.c
+++ b/src/core/iomgr/pollset_multipoller_with_poll_posix.c
@@ -144,7 +144,9 @@ static void multipoll_with_poll_pollset_maybe_work_and_unlock(
   GRPC_SCHEDULING_END_BLOCKING_REGION;
 
   if (r < 0) {
-    gpr_log(GPR_ERROR, "poll() failed: %s", strerror(errno));
+    if (errno != EINTR) {
+      gpr_log(GPR_ERROR, "poll() failed: %s", strerror(errno));
+    }
     for (i = 2; i < pfd_count; i++) {
       grpc_fd_end_poll(exec_ctx, &watchers[i], 0, 0);
     }