diff --git a/lib/c/2014/labcomm_decoder.c b/lib/c/2014/labcomm_decoder.c
index fe2deb2496b44721480ebc2f03e268d59d48da95..aeb805f27cb8b6815a548f4283aecd3b3d32c3aa 100644
--- a/lib/c/2014/labcomm_decoder.c
+++ b/lib/c/2014/labcomm_decoder.c
@@ -184,16 +184,20 @@ static int decoder_skip(struct labcomm_decoder *d, int len, int tag)
 
 static int decode_type_binding(struct labcomm_decoder *d, int kind)
 {
-#if 0
-  int sample_index =  labcomm_read_packed32(d->reader);
-  int typedef_index =  labcomm_read_packed32(d->reader);
+  int result;
+  int sample_index = result = labcomm_read_packed32(d->reader);
+  if(d->reader->error < 0 ) {
+      result =  d->reader->error;
+      goto out;
+  }
+  int typedef_index = labcomm_read_packed32(d->reader);
+  if(d->reader->error < 0 ) {
+      result =  d->reader->error;
+      goto out;
+  }
   printf("type_binding: 0x%x -> 0x%x\n", sample_index, typedef_index);
-#else
-  labcomm_read_packed32(d->reader);  //  sample_index
-  labcomm_read_packed32(d->reader);  //  typedef_index
-#endif
-
-  int result = kind;
+out:
+  fprintf(stderr,"[type_binding: %d]", result);
   return result;
 } 
 static int decode_type_def(struct labcomm_decoder *d, int kind){
@@ -452,6 +456,7 @@ int labcomm_decoder_decode_one(struct labcomm_decoder *d)
     result = decode_and_handle(d, d, remote_index);
   }
 out:   
+  fprintf(stderr, "\n        decode_one returns %d\n", result);
   return result;
 }