diff --git a/include/ajax.users.php b/include/ajax.users.php
index 91af6fee91d254ab0c7d16b42b4d6e20d3dcd746..bbc19fc72a3a7169841d6addc3d47262853fbe2c 100644
--- a/include/ajax.users.php
+++ b/include/ajax.users.php
@@ -66,20 +66,23 @@ class UsersAjaxAPI extends AjaxController {
 
     function addUser() {
 
-        $errors = $info = array();
-        $user = null;
-
-        $form = UserForm::getInstance();
-        if ($form->isValid()) {
-            if (($f=$form->getField('email'))
-                    && User::lookup(array('emails__address'=>$f->getClean())))
-                $f->addError('Email is assigned to another user');
-            elseif (($user = User::fromForm($form->getClean())))
-                Http::response(201, $user->to_json());
+        $valid = true;
+        $form = UserForm::getUserForm()->getForm($_POST);
+        if (!$form->isValid())
+            $valid  = false;
+
+        if (($field=$form->getField('email'))
+                && $field->getClean()
+                && User::lookup(array('emails__address'=>$field->getClean()))) {
+            $field->addError('Email is assigned to another user');
+            $valid = false;
         }
 
-        if (!$info || !$info['error'])
-            $info += array('error' =>'Error adding user - try again!');
+        if ($valid && ($user = User::fromForm($form->getClean())))
+            Http::response(201, $user->to_json());
+
+
+        $info = array('error' =>'Error adding user - try again!');
 
         return self::_lookupform($form, $info);
     }