diff --git a/ponsim/main.py b/ponsim/main.py
index f3d0ffd..3e32d3a 100755
--- a/ponsim/main.py
+++ b/ponsim/main.py
@@ -174,11 +174,11 @@
         """Execute before the reactor is shut down"""
         self.log.info('exiting-on-keyboard-interrupt')
         if self.io is not None:
-            self.io.stop()
+            yield self.io.stop()
         self.teardown_networking_assets(self.args.name, self.args.onus)
         if self.grpc_server is not None:
             yield self.grpc_server.stop()
-
+        
     def start_reactor(self):
         from twisted.internet import reactor
         reactor.callWhenRunning(
diff --git a/ponsim/realio.py b/ponsim/realio.py
index 84d08ba..4e467f8 100644
--- a/ponsim/realio.py
+++ b/ponsim/realio.py
@@ -42,12 +42,16 @@
         log.info('started')
         returnValue(self)
 
+    @inlineCallbacks
     def stop(self):
         log.debug('stopping')
-        for port in self.io_ports.values():
-            self.frame_io.del_interface(port.iface_name)
-        self.frame_io.stop()
-        log.info('stopped')
+        try:
+            for port in self.io_ports.values():
+                yield self.frame_io.del_interface(port.iface_name)
+            yield self.frame_io.stop()
+            log.info('stopped')
+        except Exception, e:
+            log.info('exception: %r' % e)
 
     def register_ponsim(self, ponsim):
         self.ponsim = ponsim
