diff --git a/lib/python/labcomm2014/LabComm.py b/lib/python/labcomm2014/LabComm.py
index 98981275e0edc14e79004686fe6b13b2397cebca..20f49eb9bc7b4225e54275e4f79641a6b2a668d4 100644
--- a/lib/python/labcomm2014/LabComm.py
+++ b/lib/python/labcomm2014/LabComm.py
@@ -909,15 +909,17 @@ class Decoder(Codec):
 
     def runOne(self):
         data,decl = self.decode()
+         # decode any signatures until next sample
+        while data == None:
+             data,decl = self.decode()
         if decl:
-            if data:
+            if data != None:
                 if str(decl) in self.handlers:
                     handler = self.handlers[str(decl)]
                     handler(data)
                 else:
                     print ("No handler for %s" % decl.name )
 
-
     def decode(self):
         while True:
             index = self.decode_type_number()