diff --git a/src/core/iomgr/pollset_posix.c b/src/core/iomgr/pollset_posix.c
index 53c9806fb9bdee1d74cb289c24095963202d93bf..1245d22ddee8dde8a117f2cbcb8a3abc32ad0808 100644
--- a/src/core/iomgr/pollset_posix.c
+++ b/src/core/iomgr/pollset_posix.c
@@ -214,6 +214,7 @@ static void unary_poll_pollset_add_fd(grpc_pollset *pollset, grpc_fd *fd) {
      * unary poller */
     grpc_fd_unref(fds[0]);
     pollset->data.ptr = fd;
+    grpc_fd_ref(fd);
   }
 }