diff --git a/src/metabase/driver/druid/query_processor.clj b/src/metabase/driver/druid/query_processor.clj
index 7ec2887b4fc640deb8b0540d77b50901a5bac52c..8befd598664fa16eb7084a10eafe76a478045cd7 100644
--- a/src/metabase/driver/druid/query_processor.clj
+++ b/src/metabase/driver/druid/query_processor.clj
@@ -577,15 +577,16 @@
                                                      {:dimension (->rvalue field)
                                                       :direction direction}))))
 
-(defmethod handle-order-by ::grouped-timeseries [_ {[breakout-field] :breakout, [{field :field, direction :direction}] :order-by} druid-query]
-  (let [field             (->rvalue field)
-        breakout-field    (->rvalue breakout-field)
-        sort-by-breakout? (= field breakout-field)]
-    (if (and sort-by-breakout?
-             (= direction :descending))
-      (assoc druid-query :descending true)
-      druid-query)))
+;; Handle order by timstamp field
+(defn- handle-order-by-timestamp [field direction druid-query]
+  (assoc druid-query :descending (and (instance? DateTimeField field)
+                                      (= direction :descending))))
+
+(defmethod handle-order-by ::grouped-timeseries [_ {[{field :field, direction :direction}] :order-by} druid-query]
+  (handle-order-by-timestamp field direction druid-query))
 
+(defmethod handle-order-by ::select [_ {[{field :field, direction :direction}] :order-by} druid-query]
+  (handle-order-by-timestamp field direction druid-query))
 
 ;;; ### handle-fields
 
diff --git a/test/metabase/timeseries_query_processor_test.clj b/test/metabase/timeseries_query_processor_test.clj
index 81f48c2ed9db80654346434781a68d95975b2529..50765b41ab1df0e3fea23515c7eac14062e67a29 100644
--- a/test/metabase/timeseries_query_processor_test.clj
+++ b/test/metabase/timeseries_query_processor_test.clj
@@ -69,6 +69,44 @@
   (data (data/run-query checkins
           (ql/limit 2))))
 
+;;; "bare rows" query, limit, order-by timestamp desc
+(expect-with-timeseries-dbs
+  {:columns ["id"
+             "timestamp"
+             "count"
+             "user_last_login"
+             "user_name"
+             "venue_category_name"
+             "venue_latitude"
+             "venue_longitude"
+             "venue_name"
+             "venue_price"]
+   :rows [["693", "2015-12-29T08:00:00.000Z", 1, "2014-07-03T19:30:00.000Z", "Frans Hevel", "Mexican", "34.0489", "-118.238", "Señor Fish",       "2"]
+          ["570", "2015-12-26T08:00:00.000Z", 1, "2014-07-03T01:30:00.000Z", "Kfir Caj",    "Chinese", "37.7949", "-122.406", "Empress of China", "3"]]}
+  (data (data/run-query checkins
+          (ql/order-by (ql/desc $timestamp))
+          (ql/limit 2))))
+
+;;; "bare rows" query, limit, order-by timestamp asc
+(expect-with-timeseries-dbs
+  {:columns ["id"
+             "timestamp"
+             "count"
+             "user_last_login"
+             "user_name"
+             "venue_category_name"
+             "venue_latitude"
+             "venue_longitude"
+             "venue_name"
+             "venue_price"]
+   :rows [["931", "2013-01-03T08:00:00.000Z", 1, "2014-01-01T08:30:00.000Z", "Simcha Yan", "Thai", "34.094",  "-118.344", "Kinaree Thai Bistro",       "1"]
+          ["285", "2013-01-10T08:00:00.000Z", 1, "2014-07-03T01:30:00.000Z", "Kfir Caj",   "Thai", "34.1021", "-118.306", "Ruen Pair Thai Restaurant", "2"]]}
+  (data (data/run-query checkins
+          (ql/order-by (ql/asc $timestamp))
+          (ql/limit 2))))
+
+
+
 ;;; fields clause
 (expect-with-timeseries-dbs
   {:columns ["venue_name" "venue_category_name" "timestamp"],
@@ -78,6 +116,28 @@
           (ql/fields $venue_name $venue_category_name)
           (ql/limit 2))))
 
+;;; fields clause, order by timestamp asc
+(expect-with-timeseries-dbs
+  {:columns ["venue_name" "venue_category_name" "timestamp"],
+   :rows    [["Kinaree Thai Bistro"       "Thai" "2013-01-03T08:00:00.000Z"]
+             ["Ruen Pair Thai Restaurant" "Thai" "2013-01-10T08:00:00.000Z"]]}
+  (data (data/run-query checkins
+          (ql/fields $venue_name $venue_category_name)
+          (ql/order-by (ql/asc $timestamp))
+          (ql/limit 2))))
+
+;;; fields clause, order by timestamp desc
+(expect-with-timeseries-dbs
+  {:columns ["venue_name" "venue_category_name" "timestamp"],
+   :rows    [["Señor Fish"       "Mexican" "2015-12-29T08:00:00.000Z"]
+             ["Empress of China" "Chinese" "2015-12-26T08:00:00.000Z"]]}
+  (data (data/run-query checkins
+          (ql/fields $venue_name $venue_category_name)
+          (ql/order-by (ql/desc $timestamp))
+          (ql/limit 2))))
+
+
+
 ;;; count
 (expect-with-timeseries-dbs
   [1000]