diff --git a/app/but/jury_but.py b/app/but/jury_but.py
index ffcf70755733a40fbeebba6acb026ae55a730765..14b49600342eee6c122b81fd7dd12e65adfec8db 100644
--- a/app/but/jury_but.py
+++ b/app/but/jury_but.py
@@ -424,7 +424,11 @@ class DecisionsProposeesAnnee(DecisionsProposees):
                 + '</div><div class="warning warning-info">'.join(messages)
                 + "</div>"
             )
-        self.codes = [self.codes[0]] + sorted((c or "") for c in self.codes[1:])
+
+        # Présente les codes unifiés, avec le code proposé en tête et les autres triés
+        codes_set = set(self.codes)
+        codes_set.remove(self.codes[0])
+        self.codes = [self.codes[0]] + [(c or "") for c in sorted(codes_set)]
 
     def passage_de_droit_en_but3(self) -> tuple[bool, str]:
         """Vérifie si les conditions supplémentaires de passage BUT2 vers BUT3 sont satisfaites"""