diff --git a/src/coio.cc b/src/coio.cc
index 0b13e03b82c290342a284e471d0ecd1bb1f37e39..677b726a1ead2d0d9aa86150b7b6181f71db3f57 100644
--- a/src/coio.cc
+++ b/src/coio.cc
@@ -507,7 +507,7 @@ coio_recvfrom_timeout(struct ev_io *coio, void *buf, size_t sz, int flags,
 				return nrd;
 
 			if (! ev_is_active(coio)) {
-				ev_io_set(coio, coio->fd, EV_WRITE);
+				ev_io_set(coio, coio->fd, EV_READ);
 				ev_io_start(coio);
 			}
 			/*