diff --git a/coolamqp/attaches/declarer.py b/coolamqp/attaches/declarer.py
index 084e54288eb58bc797e73415a9483e068d7ac4f7..ace6b99fc5c53ab3d4e04a7aab093c88656caddc 100644
--- a/coolamqp/attaches/declarer.py
+++ b/coolamqp/attaches/declarer.py
@@ -138,7 +138,7 @@ class Operation(object):
                         self.obj)  # todo access not threadsafe
                     self.declarer.on_discard(self.obj)
         else:
-            if isinstance(payload, QueueDeclareOk) and not self.obj.name:
+            if isinstance(payload, QueueDeclareOk) and self.obj.anonymous:
                 self.obj.name = payload.queue
                 self.obj.anonymous = False