diff --git a/ofagent/grpc_client.py b/ofagent/grpc_client.py
index 75c48ce..d1b78bd 100644
--- a/ofagent/grpc_client.py
+++ b/ofagent/grpc_client.py
@@ -85,19 +85,13 @@
 
         def receive_packet_in_stream():
             streaming_rpc_method = self.local_stub.ReceivePacketsIn
-            iterator = streaming_rpc_method(empty_pb2.Empty(), timeout=1.0)
-            while not self.stopped:
-                try:
-                    for packet_in in iterator:
-                        reactor.callFromThread(self.packet_in_queue.put,
-                                               packet_in)
-                        log.debug('enqued-packet-in',
-                                  packet_in=packet_in,
-                                  queue_len=len(self.packet_in_queue.pending))
-                except _Rendezvous, e:
-                    if e.code() == StatusCode.DEADLINE_EXCEEDED:
-                        continue
-                    raise
+            iterator = streaming_rpc_method(empty_pb2.Empty())
+            for packet_in in iterator:
+                reactor.callFromThread(self.packet_in_queue.put,
+                                       packet_in)
+                log.debug('enqued-packet-in',
+                          packet_in=packet_in,
+                          queue_len=len(self.packet_in_queue.pending))
 
         reactor.callInThread(receive_packet_in_stream)
 
@@ -105,18 +99,12 @@
 
         def receive_change_events():
             streaming_rpc_method = self.local_stub.ReceiveChangeEvents
-            iterator = streaming_rpc_method(empty_pb2.Empty(), timeout=1.0)
-            while not self.stopped:
-                try:
-                    for event in iterator:
-                        reactor.callFromThread(self.change_event_queue.put, event)
-                        log.debug('enqued-change-event',
-                                  change_event=event,
-                                  queue_len=len(self.change_event_queue.pending))
-                except _Rendezvous, e:
-                    if e.code() == StatusCode.DEADLINE_EXCEEDED:
-                        continue
-                    raise
+            iterator = streaming_rpc_method(empty_pb2.Empty())
+            for event in iterator:
+                reactor.callFromThread(self.change_event_queue.put, event)
+                log.debug('enqued-change-event',
+                          change_event=event,
+                          queue_len=len(self.change_event_queue.pending))
 
         reactor.callInThread(receive_change_events)
 
