diff --git a/libasn1compiler/asn1c_out.h b/libasn1compiler/asn1c_out.h
index 838b1b36fc2b89fc32d5b8b353dc38c4daf2490d..6373289645ed00b08904a564ad576fc545b04df8 100644
--- a/libasn1compiler/asn1c_out.h
+++ b/libasn1compiler/asn1c_out.h
@@ -84,12 +84,14 @@ int asn1c_compiled_output(arg_t *arg, const char *fmt, ...);
 /* Generate #include line */
 #define	GEN_INCLUDE(filename)	do {				\
 	int saved_target = arg->target->target;			\
+	if(!filename) break;					\
 	REDIR(OT_INCLUDES);					\
 	OUT_NOINDENT("#include <%s.h>\n", filename);		\
 	REDIR(saved_target);					\
 } while(0)
 #define	GEN_POSTINCLUDE(filename)	do {			\
 	int saved_target = arg->target->target;			\
+	if(!filename) break;					\
 	REDIR(OT_POST_INCLUDE);					\
 	OUT_NOINDENT("#include <%s.h>\n", filename);		\
 	REDIR(saved_target);					\