diff --git a/src/applications/calendar/query/PhabricatorCalendarEventQuery.php b/src/applications/calendar/query/PhabricatorCalendarEventQuery.php
--- a/src/applications/calendar/query/PhabricatorCalendarEventQuery.php
+++ b/src/applications/calendar/query/PhabricatorCalendarEventQuery.php
@@ -42,6 +42,29 @@
     return $this;
   }
 
+  protected function getDefaultOrderVector() {
+    return array('start');
+  }
+
+  public function getOrderableColumns() {
+    return array(
+      'start' => array(
+        'table' => $this->getPrimaryTableAlias(),
+        'column' => 'dateFrom',
+        'reverse' => true,
+        'type' => 'string',
+        'unique' => true,
+      ),
+    );
+  }
+
+  protected function getPagingValueMap($cursor, array $keys) {
+    $event = $this->loadCursorObject($cursor);
+    return array(
+      'start' => $event->getDateFrom(),
+    );
+  }
+
   protected function loadPage() {
     $table = new PhabricatorCalendarEvent();
     $conn_r = $table->establishConnection('r');