diff --git a/account.php b/account.php
index 416cd4761dda9d5b9f851dd40b58a8877bf7c598..2f2914a4a2893f439e16f4a1ad95fa437d16c609 100644
--- a/account.php
+++ b/account.php
@@ -81,7 +81,7 @@ elseif ($_POST) {
     elseif (!$user_form->getField('name')->getClean())
         $errors['name'] = sprintf(__('%s is a required field'), $user_form->getField('name')->getLocal('label'));
     // Registration for existing users
-    elseif ($addr && !($user = User::lookupByEmail($addr)))
+    elseif ($addr && ($user = User::lookupByEmail($addr)) && !$user->updateInfo($_POST, $errors))
       $errors['err'] = __('Unable to register account. See messages below');
     // Users created from ClientCreateRequest
     elseif (isset($_POST['backend']) && !($user = User::fromVars($user_form->getClean())))