diff --git a/modules/drivers/druid/src/metabase/driver/druid/query_processor.clj b/modules/drivers/druid/src/metabase/driver/druid/query_processor.clj
index 81e2c5aac533352498512820bda0a5cd29fb32df..8047a133319a61e0a7de853cb6a8c6abec632a02 100644
--- a/modules/drivers/druid/src/metabase/driver/druid/query_processor.clj
+++ b/modules/drivers/druid/src/metabase/driver/druid/query_processor.clj
@@ -61,8 +61,7 @@
   this)
 
 (defmethod ->rvalue :aggregation [[_ index]]
-  (let [ag      (nth (:aggregation *query*) index)
-        ag-type (:aggregation-type ag)]
+  (let [[ag-type :as ag] (nth (:aggregation *query*) index)]
     (cond
 
       (= [:count] ag)
diff --git a/test/metabase/timeseries_query_processor_test.clj b/test/metabase/timeseries_query_processor_test.clj
index 99fe9ed069041dcdf11e56d9b15a7ec56d55604f..d4538380600fc33a7382a4cf223ab3493a61026a 100644
--- a/test/metabase/timeseries_query_processor_test.clj
+++ b/test/metabase/timeseries_query_processor_test.clj
@@ -897,3 +897,17 @@
     (rows
       (data/run-mbql-query checkins
         {:aggregation [[:sum $venue_latitude] [:sum $venue_price]]}))))
+
+;; Make sure sorting by aggregations works correctly for Timeseries queries (#9185)
+(expect-with-timeseries-dbs
+  [["Steakhouse" 3.6]
+   ["Chinese"    3.0]
+   ["Wine Bar"   3.0]
+   ["Japanese"   2.7]]
+  (format-rows-by [str (partial u/round-to-decimals 1)]
+    (rows
+      (data/run-mbql-query checkins
+        {:aggregation  [[:avg $venue_price]]
+         :breakout     [[:field-id $venue_category_name]]
+         :order-by     [[:desc [:aggregation 0]]]
+         :limit        4}))))