diff --git a/src/avmodel.cpp b/src/avmodel.cpp
index 0e2060bb385e4867e52ddc35f24009e3b907f562..6efe97f508d80af2c7037e7a2349c248a247aed5 100644
--- a/src/avmodel.cpp
+++ b/src/avmodel.cpp
@@ -19,6 +19,7 @@
 #include "api/avmodel.h"
 
 // Std
+#include <algorithm>    // std::sort
 #include <chrono>
 #include <csignal>
 #include <iomanip> // for std::put_time
@@ -249,6 +250,7 @@ AVModel::getDeviceCapabilities(const std::string& deviceId) const
             while (itRates.hasNext()) {
                 rates.emplace_back(itRates.next().toFloat());
             }
+            std::sort(rates.begin(), rates.end(), std::greater<int>());
             channelCapabilities.emplace_back(
                 std::make_pair(resToRates.first.toStdString(), rates));
         }