diff --git a/web/app/controllers/contests.php b/web/app/controllers/contests.php
index 66a90bd..02cd3c8 100644
--- a/web/app/controllers/contests.php
+++ b/web/app/controllers/contests.php
@@ -60,7 +60,7 @@ EOD;
$table_header .= '
'.UOJLocale::get('contests::the number of registrants').' | ';
$table_header .= ''.UOJLocale::get('appraisal').' | ';
$table_header .= '';
- echoLongTable(array('*'), 'contests', "status != 'finished'", 'order by id desc', $table_header,
+ echoLongTable(array('*'), 'contests', "status != 'finished'", 'order by start_time desc, id desc', $table_header,
echoContest,
array('page_len' => 40)
);
@@ -85,7 +85,7 @@ EOD;
= UOJLocale::get('contests::ended contests') ?>
40,
'print_after_table' => function() {