diff --git a/dstat-interface/dstat-interface/dstat_comm.py b/dstat-interface/dstat-interface/dstat_comm.py
index 32f3e8d3aa177eb907793783949ded58275b59b1..426acfab748ff8a473377cd8a03ab0014f9b2922 100644
--- a/dstat-interface/dstat-interface/dstat_comm.py
+++ b/dstat-interface/dstat-interface/dstat_comm.py
@@ -172,12 +172,15 @@ class Experiment(object):
         scan = 0
         while True:
             if self.main_pipe.poll():
-                print "abort"
                 if self.main_pipe.recv() == 'a':
                     self.serial.write('a')
                     return False
                         
             for line in self.serial:
+                if self.main_pipe.poll():
+                    if self.main_pipe.recv() == 'a':
+                        self.serial.write('a')
+                        return False
                 if line.startswith('B'):
                     self.main_pipe.send(self.data_handler(
                                  (scan, self.serial.read(size=self.databytes))))