diff --git a/app/code/Magento/MysqlMq/Model/ResourceModel/Queue.php b/app/code/Magento/MysqlMq/Model/ResourceModel/Queue.php
index c1cdd23be622..d50ed851b64a 100644
--- a/app/code/Magento/MysqlMq/Model/ResourceModel/Queue.php
+++ b/app/code/Magento/MysqlMq/Model/ResourceModel/Queue.php
@@ -151,7 +151,7 @@ public function getMessages($queueName, $limit = null)
                 'queue_message_status.status IN (?)',
                 [QueueManagement::MESSAGE_STATUS_NEW, QueueManagement::MESSAGE_STATUS_RETRY_REQUIRED]
             )->where('queue.name = ?', $queueName)
-            ->order('queue_message_status.updated_at DESC');
+            ->order('queue_message_status.updated_at ASC');
 
         if ($limit) {
             $select->limit($limit);
diff --git a/app/code/Magento/MysqlMq/Test/Unit/Model/ResourceModel/QueueTest.php b/app/code/Magento/MysqlMq/Test/Unit/Model/ResourceModel/QueueTest.php
index 7f364054ec92..d3fe09a71294 100644
--- a/app/code/Magento/MysqlMq/Test/Unit/Model/ResourceModel/QueueTest.php
+++ b/app/code/Magento/MysqlMq/Test/Unit/Model/ResourceModel/QueueTest.php
@@ -206,7 +206,7 @@ public function testGetMessages()
             ]
         )->willReturnSelf();
         $select->expects($this->once())
-            ->method('order')->with('queue_message_status.updated_at DESC')->willReturnSelf();
+            ->method('order')->with('queue_message_status.updated_at ASC')->willReturnSelf();
         $select->expects($this->once())->method('limit')->with($limit)->willReturnSelf();
         $connection->expects($this->once())->method('fetchAll')->with($select)->willReturn($messages);
         $this->assertEquals($messages, $this->queue->getMessages($queueName, $limit));