diff --git a/lib/python/labcomm2014/LabComm.py b/lib/python/labcomm2014/LabComm.py
index fd4b1fe1bb9143041dc3f04d97cf9950f2e3c736..d37d24dc7d9424be00c432654808f86d83f3ebbc 100644
--- a/lib/python/labcomm2014/LabComm.py
+++ b/lib/python/labcomm2014/LabComm.py
@@ -973,6 +973,13 @@ class Decoder(Codec):
         self.reader.mark(value, decl)
         return (value, decl)
 
+    def __iter__(self):
+        while True:
+            try:
+                yield self.decode()
+            except EOFError:
+                break
+
     def create_object(self, name=None):
         if isinstance(self, primitive):
             result = None