diff --git a/families/track_and_trade/server/api/users.js b/families/track_and_trade/server/api/users.js
index <HASH>..<HASH> 100644
--- a/families/track_and_trade/server/api/users.js
+++ b/families/track_and_trade/server/api/users.js
@@ -23,13 +23,14 @@ const auth = require('./auth')
 const { BadRequest } = require('./errors')
 
 const create = user => {
-  return agents.fetch(user.publicKey, null)
-    .then(agent => {
-      if (!agent) {
-        throw new BadRequest('Public key must match an Agent on the blockchain')
-      }
-      return auth.hashPassword(user.password)
+  return Promise.resolve()
+    .then(() => {
+      return agents.fetch(user.publicKey, null)
+        .catch(() => {
+          throw new BadRequest('Public key must match an Agent on blockchain')
+        })
     })
+    .then(() => auth.hashPassword(user.password))
     .then(hashed => {
       return db.insert(_.assign({}, user, {password: hashed}))
         .catch(err => { throw new BadRequest(err.message) })
Fix error handling when creating a user without Agent