diff --git a/src/ev_epoll.c b/src/ev_epoll.c
index a9b8410..b858e18 100644
--- a/src/ev_epoll.c
+++ b/src/ev_epoll.c
@@ -137,7 +137,8 @@
 	/* process polled events */
 
 	for (count = 0; count < status; count++) {
-		int e = epoll_events[count].events;
+		unsigned char n;
+		unsigned char e = epoll_events[count].events;
 		fd = epoll_events[count].data.fd;
 
 		if (!fdtab[fd].owner)
@@ -150,18 +151,22 @@
 		if (EPOLLIN == FD_POLL_IN && EPOLLOUT == FD_POLL_OUT &&
 		    EPOLLPRI == FD_POLL_PRI && EPOLLERR == FD_POLL_ERR &&
 		    EPOLLHUP == FD_POLL_HUP) {
-			fdtab[fd].ev |= e & (EPOLLIN|EPOLLOUT|EPOLLPRI|EPOLLERR|EPOLLHUP);
+			n = e & (EPOLLIN|EPOLLOUT|EPOLLPRI|EPOLLERR|EPOLLHUP);
 		}
 		else {
-			fdtab[fd].ev |=
-				((e & EPOLLIN ) ? FD_POLL_IN  : 0) |
+			n =	((e & EPOLLIN ) ? FD_POLL_IN  : 0) |
 				((e & EPOLLPRI) ? FD_POLL_PRI : 0) |
 				((e & EPOLLOUT) ? FD_POLL_OUT : 0) |
 				((e & EPOLLERR) ? FD_POLL_ERR : 0) |
 				((e & EPOLLHUP) ? FD_POLL_HUP : 0);
 		}
 
-		if (fdtab[fd].iocb && fdtab[fd].ev) {
+		if (!n)
+			continue;
+
+		fdtab[fd].ev |= n;
+
+		if (fdtab[fd].iocb) {
 			int new_updt, old_updt = fd_nbupdt; /* Save number of updates to detect creation of new FDs. */
 
 			/* Mark the events as speculative before processing
