diff --git a/oslo_messaging/_drivers/amqpdriver.py b/oslo_messaging/_drivers/amqpdriver.py
index cb7fe05a7..c60c6fc6d 100644
--- a/oslo_messaging/_drivers/amqpdriver.py
+++ b/oslo_messaging/_drivers/amqpdriver.py
@@ -102,8 +102,8 @@ class AMQPIncomingMessage(base.IncomingMessage):
                 self._send_reply(conn, ending=True)
 
     def acknowledge(self):
-        self.listener.msg_id_cache.add(self.unique_id)
         self.acknowledge_callback()
+        self.listener.msg_id_cache.add(self.unique_id)
 
     def requeue(self):
         # NOTE(sileht): In case of the connection is lost between receiving the