diff --git a/compiler/2006/C_CodeGen.jrag b/compiler/2006/C_CodeGen.jrag
index 3d82bcd5ca9c8ebec4443434b000ea1f461d0b93..2fd45b192385847e511939149846d5e1a5c5651e 100644
--- a/compiler/2006/C_CodeGen.jrag
+++ b/compiler/2006/C_CodeGen.jrag
@@ -187,8 +187,8 @@ aspect C_CodeGen {
     out.println("*/");
     env.println("");
     env.println("");
-    env.println("#ifndef __LABCOMM_" + env.lcName + "_H__"); 
-    env.println("#define __LABCOMM_" + env.lcName + "_H__");
+    env.println("#ifndef __LABCOMM2006_" + env.lcName + "_H__"); 
+    env.println("#define __LABCOMM2006_" + env.lcName + "_H__");
     env.println("");
 
     // Include
@@ -270,18 +270,20 @@ aspect C_Type {
   }
 
   public void TypeDecl.C_emitType(C_env env) {
-    env.println("#ifndef PREDEFINED_" + env.prefix + getName());
+    env.println("#ifndef LABCOMM_DEFINED_" + env.prefix + getName());
     env.print("typedef ");
     getType().C_emitType(env, env.prefix + getName());
     env.println(";");
+    env.println("#define LABCOMM_DEFINED_" + env.prefix + getName());
     env.println("#endif");
   }
 
   public void SampleDecl.C_emitType(C_env env) {
-    env.println("#ifndef PREDEFINED_" + env.prefix + getName());
+    env.println("#ifndef LABCOMM_DEFINED_" + env.prefix + getName());
     env.print("typedef ");
     getType().C_emitType(env, env.prefix + getName());
     env.println(";");
+    env.println("#define LABCOMM_DEFINED_" + env.prefix + getName());
     env.println("#endif");
     env.println("extern const struct labcomm"+env.verStr+"_signature " +
                 "*labcomm"+env.verStr+"_signature_" + env.prefix + getName() + 
diff --git a/compiler/2014/C_CodeGen.jrag b/compiler/2014/C_CodeGen.jrag
index b6e643c33c08c800506087792b619abfba0c63d1..d0dc920e1b93d347bb241c87cd795d590f47e83f 100644
--- a/compiler/2014/C_CodeGen.jrag
+++ b/compiler/2014/C_CodeGen.jrag
@@ -270,18 +270,20 @@ aspect C_Type {
   }
 
   public void TypeDecl.C_emitType(C_env env) {
-    env.println("#ifndef PREDEFINED_" + env.prefix + getName());
+    env.println("#ifndef LABCOMM_DEFINED_" + env.prefix + getName());
     env.print("typedef ");
     getType().C_emitType(env, env.prefix + getName());
     env.println(";");
+    env.println("#define LABCOMM_DEFINED_" + env.prefix + getName());
     env.println("#endif");
   }
 
   public void SampleDecl.C_emitType(C_env env) {
-    env.println("#ifndef PREDEFINED_" + env.prefix + getName());
+    env.println("#ifndef LABCOMM_DEFINED_" + env.prefix + getName());
     env.print("typedef ");
     getType().C_emitType(env, env.prefix + getName());
     env.println(";");
+    env.println("#define LABCOMM_DEFINED_" + env.prefix + getName());
     env.println("#endif");
     env.println("extern const struct labcomm"+env.verStr+"_signature " +
                 "*labcomm"+env.verStr+"_signature_" + env.prefix + getName() +