diff --git a/coolamqp/framing/compilation/utilities.py b/coolamqp/framing/compilation/utilities.py
index 345ce923556e3d16b06cfcff68e8c789129a8c8a..4227efed4d347f72c92bf8d67cf0113c5a18c9ea 100644
--- a/coolamqp/framing/compilation/utilities.py
+++ b/coolamqp/framing/compilation/utilities.py
@@ -177,6 +177,8 @@ def frepr(p, sop=six.text_type):
 def to_code_binary(p):
     body = []
     for q in p:
+        if isinstance(q, int):
+            q = six.int2byte(q)
         z = (hex(ord(q))[2:].upper())
         if len(z) == 1:
             z = u'0' + z