diff --git a/app/scodoc/sco_dept.py b/app/scodoc/sco_dept.py
index e033a89a54f60144e1a375ccd1012dd27cbd010f..e81bf450f1af5993f5966799261e313fc8c5810f 100644
--- a/app/scodoc/sco_dept.py
+++ b/app/scodoc/sco_dept.py
@@ -55,17 +55,17 @@ def index_html(showcodes=0, showsemtable=0, export_table_formsemestres=False):
     current_formsemestres = (
         FormSemestre.query.filter_by(dept_id=g.scodoc_dept_id, etat=True)
         .filter(FormSemestre.modalite != "EXT")
-        .order_by(desc(FormSemestre.date_debut))
+        .order_by(desc(FormSemestre.date_debut), FormSemestre.titre)
     )
     locked_formsemestres = (
         FormSemestre.query.filter_by(dept_id=g.scodoc_dept_id, etat=False)
         .filter(FormSemestre.modalite != "EXT")
-        .order_by(desc(FormSemestre.date_debut))
+        .order_by(desc(FormSemestre.date_debut), FormSemestre.titre)
     )
     formsemestres = (
         FormSemestre.query.filter_by(dept_id=g.scodoc_dept_id)
         .filter(FormSemestre.modalite != "EXT")
-        .order_by(desc(FormSemestre.date_debut))
+        .order_by(desc(FormSemestre.date_debut), FormSemestre.titre)
     )
     if showsemtable:  # table de tous les formsemestres
         table = _sem_table_gt(