diff --git a/lib/python/labcomm2014/LabComm.py b/lib/python/labcomm2014/LabComm.py
index aae802e318ab305b78a7adcdea669ce2f8100683..b309124f3eb39602bd99a4f9dd99813d6e2da30d 100644
--- a/lib/python/labcomm2014/LabComm.py
+++ b/lib/python/labcomm2014/LabComm.py
@@ -951,15 +951,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()