diff --git a/src/consumer/subscriptionState.js b/src/consumer/subscriptionState.js
index <HASH>..<HASH> 100644
--- a/src/consumer/subscriptionState.js
+++ b/src/consumer/subscriptionState.js
@@ -74,22 +74,24 @@ module.exports = class SubscriptionState {
   }
 
   /**
-   * @returns {Array<TopicPartitions>} topicPartitions Example: [{ topic: 'topic-name', partitions: [1, 2] }]
+   * @returns {Array<TopicPartitions>} topicPartitions
+   * Example: [{ topic: 'topic-name', partitions: [1, 2] }]
    */
   assigned() {
     return Object.values(this.assignedPartitionsByTopic).map(({ topic, partitions }) => ({
       topic,
-      partitions,
+      partitions: partitions.sort(),
     }))
   }
 
   /**
-   * @returns {Array<TopicPartitions>} topicPartitions Example: [{ topic: 'topic-name', partitions: [1, 2] }]
+   * @returns {Array<TopicPartitions>} topicPartitions
+   * Example: [{ topic: 'topic-name', partitions: [1, 2] }]
    */
   active() {
     return Object.values(this.assignedPartitionsByTopic).map(({ topic, partitions }) => ({
       topic,
-      partitions: partitions.filter(partition => !this.isPaused(topic, partition)),
+      partitions: partitions.filter(partition => !this.isPaused(topic, partition)).sort(),
     }))
   }
Always return the list of partitions with stable order