diff --git a/compiler/2014/C_CodeGen.jrag b/compiler/2014/C_CodeGen.jrag
index 31b64477703ea43aef659826a37b53ef22b3b8a6..81731a5afb935b9d3b45448ef35b3f8f578a0fe2 100644
--- a/compiler/2014/C_CodeGen.jrag
+++ b/compiler/2014/C_CodeGen.jrag
@@ -1386,7 +1386,7 @@ aspect C_Signature {
               //if(d>='a'&&d<='z' || d>='A'&&d<='Z'|| d>='0'&&d<='9'  )
               //  env.print(""+(char)d);
               //else
-              env.print("\\x"+Integer.toHexString(d));
+              env.print("\\x"+Integer.toHexString(d>=0?d:256+d));
             }
             env.println("\"),");
         }