diff --git a/rc_rmq.py b/rc_rmq.py
index 16751f1b400fdff181ed821dcfd5824af9daf922..8227982803d0033dc6855fd2de8685fd65dfefbe 100644
--- a/rc_rmq.py
+++ b/rc_rmq.py
@@ -100,9 +100,10 @@ class RCRMQ(object):
         return result.method.queue
 
     def disconnect(self):
-        self._channel.close()
-        self._connection.close()
-        self._connection = None
+        if self._connection:
+            self._channel.close()
+            self._connection.close()
+            self._connection = None
 
     def delete_queue(self, queue):
         self._channel.queue_delete(queue)