diff --git a/lib/celluloid/io/reactor.rb b/lib/celluloid/io/reactor.rb
index <HASH>..<HASH> 100644
--- a/lib/celluloid/io/reactor.rb
+++ b/lib/celluloid/io/reactor.rb
@@ -13,14 +13,14 @@ module Celluloid
       def wait_readable(io)
         monitor_io io, @readers
         Fiber.yield
-        block_given? ? yield(io) : io
+        io
       end
 
       # Wait for the given IO object to become writeable
       def wait_writeable(io)
         monitor_io io, @writers
         Fiber.yield
-        block_given? ? yield(io) : io
+        io
       end
 
       # Run the reactor, waiting for events, and calling the given block if
diff --git a/lib/celluloid/tcp_server.rb b/lib/celluloid/tcp_server.rb
index <HASH>..<HASH> 100644
--- a/lib/celluloid/tcp_server.rb
+++ b/lib/celluloid/tcp_server.rb
@@ -14,7 +14,8 @@ module Celluloid
     # Run the TCP server event loop
     def run
       while true
-        wait_readable(@server) { on_connect @server.accept }
+        wait_readable(@server)
+        on_connect @server.accept
       end
     end
Get rid of block form for wait_readable/writeable