diff --git a/mo/web/user.py b/mo/web/user.py
index ebbc12393fee91ea0029d62bf305bd3de8ab0493..c5d5e4be6628190912c2daa207b7cc36222c8425 100644
--- a/mo/web/user.py
+++ b/mo/web/user.py
@@ -30,6 +30,7 @@ def user_index():
              .filter(db.Participation.user == g.user)
              .filter(db.Round.state != db.RoundState.preparing)
              .options(joinedload(db.Contest.place))
+             .order_by(db.Round.year.desc(), db.Round.category, db.Round.seq)
              .all())
 
     return render_template(