diff --git a/lib/c/2014/labcomm2014_error.c b/lib/c/2014/labcomm2014_error.c
index a002026d6df70a558dd2125683a14e1182a8b8ec..48c3e4ce39c76193a7ff54d37c3f91bbe1ea0854 100644
--- a/lib/c/2014/labcomm2014_error.c
+++ b/lib/c/2014/labcomm2014_error.c
@@ -36,12 +36,16 @@ void labcomm2014_error_fatal_global(enum labcomm2014_error error,
 {
   va_list args;
 
+#ifndef LABCOMM_NO_STDIO
   fprintf(stderr, "Fatal error %d (%s)\n", error, description[error]);
   va_start(args, format);
   vfprintf(stderr, format, args);
   va_end(args);
+#endif
 
+#ifdef LABCOMM_EXIT
   exit(1);
+#endif
 }
 
 void labcomm2014_error_warning(struct labcomm2014_error_handler *e,
@@ -51,11 +55,15 @@ void labcomm2014_error_warning(struct labcomm2014_error_handler *e,
 {
   va_list args;
 
+#ifndef LABCOMM_NO_STDIO
   fprintf(stderr, "Fatal warning %d (%s)\n", error, description[error]);
   va_start(args, format);
   vfprintf(stderr, format, args);
   va_end(args);
+#endif
 
+#ifdef LABCOMM_EXIT
   exit(1);
+#endif
 }