diff --git a/coolamqp/attaches/declarer.py b/coolamqp/attaches/declarer.py
index 94289a3a1e846845543a2c2c57b97ad7e211bd73..e81d786e6aa9bf1708e09187eddfcd7b4b885c3c 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 self.obj.anonymous:
+            if isinstance(payload, QueueDeclareOk) and not self.obj.name:
                 self.obj.name = payload.queue
 
             self.span_finished()