diff --git a/coolamqp/backends/pyamqp.py b/coolamqp/backends/pyamqp.py
index 98c96249ae196ac9116fc7a080e30c8df8c2a667..0b1deb61f7873c1ced286fd1b5acb87e9b012ffd 100644
--- a/coolamqp/backends/pyamqp.py
+++ b/coolamqp/backends/pyamqp.py
@@ -42,6 +42,7 @@ class PyAMQPBackend(AMQPBackend):
         except AttributeError:
             pass    # this does not always have to exist
         self.channel = self.connection.channel()
+        self.channel.auto_decode = False
         self.heartbeat = node.heartbeat or 0
         self.last_heartbeat_at = monotonic.monotonic()
 
@@ -142,6 +143,7 @@ class PyAMQPBackend(AMQPBackend):
         self.cluster_handler_thread._on_consumercancelled(consumer_tag)
 
     def __on_message(self, message):
+        assert isinstance(message.body, six.binary_type)
         self.cluster_handler_thread._on_recvmessage(six.binary_type(message.body),
                                                     message.delivery_info['exchange'],
                                                     message.delivery_info['routing_key'],