diff --git a/app/controller/perso.php b/app/controller/perso.php
index 42c53ab7c922404346afb23aa7202af52152e7ad..24483542613df4ba8b7194bb4ecca531ff5ecfff 100644
--- a/app/controller/perso.php
+++ b/app/controller/perso.php
@@ -211,18 +211,21 @@ class Perso extends Controller
             // On vérifie que l'adresse mail n'existe pas
             $db = $f3->get('DB');
             $user = $f3->get('container')['user_finder']->findByEmail($f3->get('email'));
+            $total = 0;
             $cumul = 0;
-            if ($result['email']!=$f3->get('email')) {
+
+            if ($user['email']!=$f3->get('email')) {
                 $hash = hash('sha256', $f3->get('password'));
                 // On recherche le montant cumulé jusqu'à présent. On fait la somme depuis le
                 // premier janvier 2013 en se basant sur l'adresse mail
                 $res = $db->query("SELECT sum(dons.somme) as somme FROM dons INNER JOIN users WHERE dons.user_id = users.id AND users.email='".$f3->get('email')."' and dons.status in (1, 4, 102) and dons.datec>'2013-01-01';");
                 $total = $res->fetch(\PDO::FETCH_ASSOC);
-                $total = $total['somme'];
+                $total = (int) $total['somme'];
                 // Création de l'utilisateur
-                $query = "INSERT INTO users (email, hash, total, cumul) VALUES ('".$f3->get('email')."', '".$hash."', '".$total."', 0);";
-                $res = $db->exec($query);
-                $f3->set('SESSION.error', $query);
+                $f3->clear('SESSION.error');
+                $f3->set('SESSION.msg', _("Votre compte a bien été créé, merci."));
+                $f3->get('container')['command_handler']->handle(new UserCreateCommand($f3->get('email'), $hash, '', $total, $total));
+                $f3->reroute('/perso');
             } else {
                 $f3->set('SESSION.error', _("Vous avez déjà un compte associé à cette adresse mail, merci de demander un nouveau mot de passe."));
             }