diff --git a/python/ftl/ftlstream.py b/python/ftl/ftlstream.py
index d54a43589ce6fce0ed8be904993bd5d9e124b3ec..c3790ac5491d2e3b5c439a7539ecbd57d5694c7c 100644
--- a/python/ftl/ftlstream.py
+++ b/python/ftl/ftlstream.py
@@ -195,13 +195,14 @@ class FTLStreamReader:
         ''' Update calibration. '''
         
         if p.codec == ftl.codec_t.MSGPACK:
-            # TODO: What is in (unpacked) p.data[1:]? Contents discarded at the moment
-            self._calibration[sp.streamID] = ftl.Camera._make(msgpack.unpackb(p.data)[0])
-            
+            # TODO: channel and capabilities should be saved as well
+            calib, channel, capabilities = msgpack.unpackb(p.data)
+            self._calibration[sp.streamID] = ftl.Camera._make(calib)
+        
         elif p.codec == ftl.codec_t.CALIBRATION:
             calibration = struct.unpack("@ddddIIdddd", p.data[:(4*8+2*4+4*8)])
             self._calibration[sp.streamID] = ftl.Camera._make(calibration)
-            
+        
         else:
             raise Exception("Unknown codec %i for calibration" % p.codec)
 
@@ -363,7 +364,7 @@ class FTLStreamReader:
             raise ValueError("source id %i not found" % source)
     
     def get_Q(self, source):
-        ''' Disparity to depth matrix in OpenCV format '''
+        ''' Disparity to depth matrix (OpenCV) '''
 
         calib = self.get_calibration(source)
         Q = np.identity(4, dtype=np.float64)