diff --git a/lib/c/2014/labcomm2014_decoder.c b/lib/c/2014/labcomm2014_decoder.c
index 8e48c26a2725911bdcd4baf102a7a932df2eb9e4..fe534f30dd8b26169a229a09758b52e47498cecb 100644
--- a/lib/c/2014/labcomm2014_decoder.c
+++ b/lib/c/2014/labcomm2014_decoder.c
@@ -716,8 +716,9 @@ struct labcomm2014_decoder *labcomm2014_decoder_new(
     LABCOMM_SIGNATURE_ARRAY_INIT(result->local_ref, 
                                  const struct labcomm2014_signature*);
     LABCOMM_SIGNATURE_ARRAY_INIT(result->remote_to_local_ref, int);
+    return &(result->decoder);
   }
-  return &(result->decoder);
+  return NULL;
 }
 
 
diff --git a/lib/c/2014/labcomm2014_encoder.c b/lib/c/2014/labcomm2014_encoder.c
index 70a2f9c3a14b44471ef7c895f1a3e744e1fe33fb..745edb5b4ce09f0bc6bbaaeecb9cdfa5d21f9cc3 100644
--- a/lib/c/2014/labcomm2014_encoder.c
+++ b/lib/c/2014/labcomm2014_encoder.c
@@ -420,8 +420,9 @@ static struct labcomm2014_encoder *internal_encoder_new(
         labcomm2014_writer_end(result->encoder.writer,
                                result->encoder.writer->action_context);
     }
+    return &(result->encoder);
   }
-  return &(result->encoder);
+  return NULL;
 }
 
 struct labcomm2014_encoder *labcomm2014_encoder_new(