diff --git a/app/comp/res_common.py b/app/comp/res_common.py
index d6fdc7d6e981994fdb048e6650b0b06f4c768d77..f29b336c7fbc529368a1df4f7ef36370286e3479 100644
--- a/app/comp/res_common.py
+++ b/app/comp/res_common.py
@@ -7,7 +7,7 @@
 """Résultats semestre: méthodes communes aux formations classiques et APC
 """
 
-from collections import Counter
+from collections import Counter, defaultdict
 from collections.abc import Generator
 from functools import cached_property
 import numpy as np
@@ -22,11 +22,11 @@ from app.comp.moy_mod import ModuleImplResults
 from app.models import FormSemestre, FormSemestreUECoef
 from app.models import Identite
 from app.models import ModuleImpl, ModuleImplInscription
+from app.models import ScolarAutorisationInscription
 from app.models.ues import UniteEns
 from app.scodoc.sco_cache import ResultatsSemestreCache
 from app.scodoc.sco_codes_parcours import UE_SPORT
 from app.scodoc.sco_exceptions import ScoValueError
-from app.scodoc import sco_groups
 from app.scodoc import sco_utils as scu
 
 # Il faut bien distinguer
@@ -84,6 +84,7 @@ class ResultatsSemestre(ResultatsCache):
         """Coefs APC: rows = UEs (sans bonus), columns = modimpl, value = coef."""
 
         self.validations = None
+        self.autorisations_inscription = None
         self.moyennes_matieres = {}
         """Moyennes de matières, si calculées. { matiere_id : Series, index etudid }"""
 
@@ -179,12 +180,28 @@ class ResultatsSemestre(ResultatsCache):
         )
 
     # --- JURY...
-    def load_validations(self) -> ValidationsSemestre:
-        """Load validations, set attribute and return value"""
+    def get_formsemestre_validations(self) -> ValidationsSemestre:
+        """Load validations if not already stored, set attribute and return value"""
         if not self.validations:
             self.validations = res_sem.load_formsemestre_validations(self.formsemestre)
         return self.validations
 
+    def get_autorisations_inscription(self) -> dict[int : list[int]]:
+        """Les autorisations d'inscription venant de ce formsemestre.
+        Lit en base et cache le résultat.
+        Resultat: { etudid : [ indices de semestres ]}
+        Note: les etudids peuvent ne plus être inscrits ici.
+        Seuls ceux avec des autorisations enregistrées sont présents dans le résultat.
+        """
+        if not self.autorisations_inscription:
+            autorisations = ScolarAutorisationInscription.query.filter_by(
+                origin_formsemestre_id=self.formsemestre.id
+            )
+            self.autorisations_inscription = defaultdict(list)
+            for aut in autorisations:
+                self.autorisations_inscription[aut.etudid].append(aut.semestre_id)
+        return self.autorisations_inscription
+
     def get_etud_ue_validables(self, etudid: int) -> list[UniteEns]:
         """Liste des UEs du semestre qui doivent être validées
 
@@ -242,8 +259,8 @@ class ResultatsSemestre(ResultatsCache):
         UE capitalisées.
         """
         # Supposant qu'il y a peu d'UE capitalisées,
-        # on recalcule les moyennes gen des etuds ayant des UE capitalisée.
-        self.load_validations()
+        # on recalcule les moyennes gen des etuds ayant des UEs capitalisées.
+        self.get_formsemestre_validations()
         ue_capitalisees = self.validations.ue_capitalisees
         for etudid in ue_capitalisees.index:
             recompute_mg = False
diff --git a/app/comp/res_compat.py b/app/comp/res_compat.py
index 8a83569407fb5c7d7cb27bddc20b86d7bbadfac2..6c48ae2cc0e9781f1f2763239bb531fd8c4e347a 100644
--- a/app/comp/res_compat.py
+++ b/app/comp/res_compat.py
@@ -282,7 +282,7 @@ class NotesTableCompat(ResultatsSemestre):
         if self.get_etud_etat(etudid) == DEF:
             return {}
         else:
-            validations = self.load_validations()
+            validations = self.get_formsemestre_validations()
             return validations.decisions_jury_ues.get(etudid, None)
 
     def get_etud_ects_valides(self, etudid: int, decisions_ues: dict = False) -> 0:
@@ -309,7 +309,7 @@ class NotesTableCompat(ResultatsSemestre):
                 "compense_formsemestre_id": None,
             }
         else:
-            validations = self.load_validations()
+            validations = self.get_formsemestre_validations()
             return validations.decisions_jury.get(etudid, None)
 
     def get_etud_mat_moy(self, matiere_id: int, etudid: int) -> str:
diff --git a/app/tables/jury_recap.py b/app/tables/jury_recap.py
index 13df372d8073241b6c686d09bdeaee222c3ed1c5..1a91ac9d7a85fa93955c3ae295edc1677386f35a 100644
--- a/app/tables/jury_recap.py
+++ b/app/tables/jury_recap.py
@@ -88,7 +88,7 @@ class TableJury(TableRecap):
         que pour les formations classiques, ce code n'est pas utilisé en BUT.
         """
         res = self.res
-
+        autorisations = res.get_autorisations_inscription()
         for row in self.rows:
             etud = row.etud
             if not res.is_apc:
@@ -108,7 +108,17 @@ class TableJury(TableRecap):
                 self.foot_title_row.cells["jury_code_sem"].target_attrs[
                     "title"
                 ] = """Code jury sur le semestre"""
-
+            # Autorisations inscription
+            row.add_cell(
+                "autorisations_inscription",
+                "Passage",
+                ", ".join("S" + str(i) for i in sorted(autorisations[etud.id]))
+                if etud.id in autorisations
+                else "",
+                group="jury_code_sem",
+                classes=["recorded_code"],
+            )
+            # Lien saisie ou visu jury
             a_saisir = (not res.validations) or (not res.validations.has_decision(etud))
             row.add_cell(
                 "jury_link",
diff --git a/app/tables/table_builder.py b/app/tables/table_builder.py
index 829f3642a565f90e5ebb8ee2c29069aabbe64110..1f74d7d997477af780ebe3d6bfde6b4e47160c91 100644
--- a/app/tables/table_builder.py
+++ b/app/tables/table_builder.py
@@ -365,11 +365,7 @@ class Row(Element):
         group: groupe de colonnes
         classes is a list of css class names
         """
-        if (classes is None) or (group not in classes):
-            # ajoute le nom de groupe aux classes
-            classes = [group or ""] + (classes or [])
-        else:
-            classes = classes.copy()
+        classes = classes.copy() if classes else []
         if group:
             self.table.column_classes[col_id].add(group)
         if column_classes: