diff --git a/VERSIONS_HOTLINE/39780 b/VERSIONS_HOTLINE/39780
new file mode 100644
index 0000000000000000000000000000000000000000..14837ee89d590c18d17d0fc1f38125a8ed51d2fa
--- /dev/null
+++ b/VERSIONS_HOTLINE/39780
@@ -0,0 +1 @@
+ - ticket #39780 : Correction d'une page blanche pouvant arriver sur la création d'un compte.
\ No newline at end of file
diff --git a/application/modules/opac/controllers/AuthController.php b/application/modules/opac/controllers/AuthController.php
index bbcd1e00fa68d78a64080384662628723278e4ad..f52a7ae20ab930f77e41fba530fabf6b45cb30dc 100644
--- a/application/modules/opac/controllers/AuthController.php
+++ b/application/modules/opac/controllers/AuthController.php
@@ -227,9 +227,12 @@ class AuthController extends ZendAfi_Controller_Action {
         $this->view->login = $data["login"];
         $this->view->email = $data["mail"];
         $this->view->email2 = $data["mail2"];
-        $this->view->error = '<div align="center" class="error">' . $ret["error"] . '</div>';
+        $this->view->error = $ret["error"];
       }
-      $this->view->message_mail=$ret["message_confirm"];
+
+      $this->view->message_mail = isset($ret["message_confirm"])
+        ? $ret["message_confirm"]
+        : '';
     }
 
     // Opération terminée
diff --git a/application/modules/opac/views/scripts/auth/register.phtml b/application/modules/opac/views/scripts/auth/register.phtml
index 63214280aae939dc572908b804f6786f8ff2b92c..f1c97e20dd2760d01d0ea7818f88daf0cc64df8f 100644
--- a/application/modules/opac/views/scripts/auth/register.phtml
+++ b/application/modules/opac/views/scripts/auth/register.phtml
@@ -2,10 +2,11 @@
 <p><?php echo nl2br($this->preferences["register_help"]); ?></p>
 
 <?php
-
 echo $this->renderForm($this->form);
 
-?>
+if ($this->error)
+  echo $this->tag('p', $this->error, ['class' => 'error']);
 
-<?php echo $this->error; ?>
-<?php $this->closeBoite() ?>
+$this->closeBoite();
+
+?>
diff --git a/library/Class/Users.php b/library/Class/Users.php
index 6e9f55f9e321162559f36a3d2a41ac29d701eb61..575b61547ec8efb47931c5181d6d48b5283ae4f8 100644
--- a/library/Class/Users.php
+++ b/library/Class/Users.php
@@ -1026,7 +1026,7 @@ class Class_Users extends Storm_Model_Abstract {
         ->addBcc($mail_admin)
         ->send();
     } catch (Exception $e) {
-      $ret["message_mail"]='<p class="error">'.$e->getMessage().'</p>';
+      $ret["error"] = $e->getMessage();
       return $ret;
     }
 
diff --git a/library/ZendAfi/Filters/Post.php b/library/ZendAfi/Filters/Post.php
index 0140654827a52b57f4f6eefd08ad3a25035d25cb..12e84605294ba2d71d38cd1df3312bf68b52980a 100644
--- a/library/ZendAfi/Filters/Post.php
+++ b/library/ZendAfi/Filters/Post.php
@@ -16,24 +16,20 @@
  *
  * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
  * along with BOKEH; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA 
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
  */
-//////////////////////////////////////////////////////////////////////////////////////////////////////////
-// OPAC3 :  FILTRE POUR LES _POST
-//
-//////////////////////////////////////////////////////////////////////////////////////////////////////////
 
-class ZendAfi_Filters_Post extends Zend_Filter
-{ 
-  public static function filterStatic($data)
-  {
-    if(!is_array($data)) return trim(strip_tags($data));
-    foreach($data as $clef => $valeur)
-    {
-      $valeur=trim($valeur);
-      $valeur=strip_tags($valeur);
-      $new[$clef]=$valeur;
+class ZendAfi_Filters_Post extends Zend_Filter {
+  public static function filterStatic($data) {
+    if (!is_array($data))
+      return trim(strip_tags($data));
+
+    foreach($data as $clef => $valeur) {
+      $new[$clef] = is_array($valeur)
+        ? $valeur :
+        trim(strip_tags($valeur));
     }
+
     return $new;
   }
 }
\ No newline at end of file
diff --git a/tests/application/modules/opac/controllers/AuthControllerTest.php b/tests/application/modules/opac/controllers/AuthControllerTest.php
index e9d27adfb46ac008cd6d7cdb3c3a2c5efb97a2f9..1955b3f321b45f73ae1afb6d50d6db46e08cdc18 100644
--- a/tests/application/modules/opac/controllers/AuthControllerTest.php
+++ b/tests/application/modules/opac/controllers/AuthControllerTest.php
@@ -1337,7 +1337,8 @@ class AuthControllerNobodyLoggedAndRegistrationAllowedWithOptionalFieldsRegister
 
 
 
-class AuthControllerNobodyLoggedRegisterPostRightDatasTest extends AuthControllerNobodyLoggedTestCase {
+
+abstract class AuthControllerNobodyLoggedRegisterActionTestCase extends AuthControllerNobodyLoggedTestCase {
   public function setUp() {
     parent::setUp();
     ZendAfi_Form_Element_Captcha::beValid();
@@ -1356,6 +1357,15 @@ class AuthControllerNobodyLoggedRegisterPostRightDatasTest extends AuthControlle
 
 
     Class_AdminVar::newInstanceWithId('INTERDIRE_ENREG_UTIL', ['valeur' => 0]);
+  }
+}
+
+
+
+
+class AuthControllerNobodyLoggedRegisterPostRightDatasTest extends AuthControllerNobodyLoggedRegisterActionTestCase {
+  public function setUp() {
+    parent::setUp();
 
     $this->postDispatch('auth/register',
                         ['login' => 'mario',
@@ -1363,8 +1373,8 @@ class AuthControllerNobodyLoggedRegisterPostRightDatasTest extends AuthControlle
                          'mail2' => 'mario@afi-sa.fr',
                          'mdp' => 'secret',
                          'mdp2' => 'secret',
-                         'captcha[id]' => '1234',
-                         'captcha[input]' => '1234']);
+                         'captcha' => ['id' => '1234',
+                                       'input' => '1234']]);
   }
 
 
@@ -1435,6 +1445,34 @@ class AuthControllerNobodyLoggedRegisterPostRightDatasTest extends AuthControlle
 
 
 
+class AuthControllerNobodyLoggedRegisterPostSendMailErrorsTest extends AuthControllerNobodyLoggedRegisterActionTestCase {
+  public function setUp() {
+    parent::setUp();
+
+    $this->mock_transport->onSendDo(
+                                    function() {
+                                      throw new Zend_Mail_Exception('unable to deliver mail');
+                                    });
+
+
+    $this->postDispatch('auth/register',
+                        ['login' => 'mario',
+                         'mail' => 'mario@afi-sa.fr',
+                         'mail2' => 'mario@afi-sa.fr',
+                         'mdp' => 'secret',
+                         'mdp2' => 'secret',
+                         'captcha' => ['id' => '1234',
+                                       'input' => '1234']]);
+  }
+
+  /** @test */
+  public function pageShouldDisplayErrorUnableToDeliverMail() {
+    $this->assertXPathContentContains('//p[@class="error"]', 'unable to deliver mail');
+  }
+}
+
+
+
 
 class AuthControllerNobodyLoggedRegisterPostWrongDataTest extends AuthControllerNobodyLoggedTestCase {
   public function setUp() {