diff --git a/CHANGELOG.md b/CHANGELOG.md
index 850b6c7045dfd50e7a4e8625fc0efe044fd7ab3b..87d1979c881cec9fb874d95d0627f6a05cffec7d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -13,6 +13,7 @@ Journal des modifications
 - [FIX] Création/modification d'individu : erreur 'Adresse existante (Utilisateur)'.
 - [FIX] Masquage du message abscons 'Cette personne ne pourra pas utiliser l'application...' sur la fiche Thèse.
 - [FIX] Page Assistance : ne plante plus et affiche toutes les adresses possibles en cas d'adresse établissement introuvable.
+- [FIX] Enregistrement de la date de fin de confidentialité dans la Diffusion.
 
 5.2.4
 -----
diff --git a/module/These/src/These/Form/Diffusion/DiffusionHydrator.php b/module/These/src/These/Form/Diffusion/DiffusionHydrator.php
index b7fca8f07fa5098ea92a92336092353d76017090..855f19e34c333de211624fac1640b1d535703d6b 100644
--- a/module/These/src/These/Form/Diffusion/DiffusionHydrator.php
+++ b/module/These/src/These/Form/Diffusion/DiffusionHydrator.php
@@ -2,8 +2,8 @@
 
 namespace These\Form\Diffusion;
 
-use These\Entity\Db\Diffusion;
 use Doctrine\Laminas\Hydrator\DoctrineObject;
+use These\Entity\Db\Diffusion;
 use UnicaenApp\Service\EntityManagerAwareInterface;
 use UnicaenApp\Service\EntityManagerAwareTrait;
 
@@ -31,14 +31,17 @@ class DiffusionHydrator extends DoctrineObject implements EntityManagerAwareInte
      * Hydrate $object with the provided $data.
      *
      * @param  array     $data
-     * @param  Diffusion $attestation
+     * @param  Diffusion $object
      * @return Diffusion
      */
-    public function hydrate(array $data, $attestation)
+    public function hydrate(array $data, $object): Diffusion
     {
-        // le champ de saisie de la confidentialité est grisé pour l'instant
+        // NB : le champ de saisie de la confidentialité est grisé pour l'instant
         if (!isset($data['confidentielle'])) {
-            $data['confidentielle'] = $attestation->getThese()->getDateFinConfidentialite() !== null ? Diffusion::CONFIDENTIELLE_OUI : Diffusion::CONFIDENTIELLE_NON;
+            $data['confidentielle'] = $object->getThese()->getDateFinConfidentialite() !== null ? Diffusion::CONFIDENTIELLE_OUI : Diffusion::CONFIDENTIELLE_NON;
+        }
+        if (!isset($data['dateFinConfidentialite'])) {
+            $data['dateFinConfidentialite'] = $object->getThese()->getDateFinConfidentialite();
         }
 
         if (!isset($data['orcid'])) {
@@ -49,7 +52,7 @@ class DiffusionHydrator extends DoctrineObject implements EntityManagerAwareInte
         }
 
         /** @var Diffusion $diff */
-        $diff = parent::hydrate($data, $attestation);
+        $diff = parent::hydrate($data, $object);
 
         switch ($diff->getAutorisMel()) {
             case Diffusion::AUTORISATION_OUI_IMMEDIAT:
diff --git a/module/These/view/these/these/partial/diffusion.phtml b/module/These/view/these/these/partial/diffusion.phtml
index 0fc39be4a69f7cca6a8f5f640b19783f938473c7..ad446aaaa91ce64c805ceb9f0247c7f634c8bba3 100644
--- a/module/These/view/these/these/partial/diffusion.phtml
+++ b/module/These/view/these/these/partial/diffusion.phtml
@@ -10,16 +10,16 @@
 
 use These\Entity\Db\Diffusion;
 use These\Entity\Db\These;
-use These\Form\Diffusion\DiffusionTheseForm;
 use Application\Service\Message\DiffusionMessages;
 
 ?>
 
-<?php if ($diffusion->getConfidentielle()): ?>
+<?php if ($diffusion->getConfidentielle() || $diffusion->getThese()->estConfidentielle()): ?>
 <div class="row">
     <div class="col-6">
         <div class="alert alert-md alert-danger">
-            <?php echo sprintf("La thèse est confidentielle jusqu'au %s.", $diffusion->getDateFinConfidentialiteToString()) ?>
+            <?php echo sprintf("La thèse est confidentielle jusqu'au %s.",
+                $diffusion->getDateFinConfidentialiteToString() ?: $diffusion->getThese()->getDateFinConfidentialiteToString()) ?>
         </div>
     </div>
 </div>