                         failure(error: elloError, statusCode: moyaResponse.statusCode)
                     }
                 case let .Failure(error):
+                    reauthResult = (false, (error: error as NSError, statusCode: nil))
                     failure(error: error as NSError, statusCode: nil)
                 }
             }

                reauthOperation = AsyncOperation(block: { done in
                    self._reAuthenticateToken(success: {
                        success()
                        done()
                        currentReauthOperation = nil
                    }, failure: { (error, statusCode) in
                        failure(error: error, statusCode: statusCode)
                        done()
                        currentReauthOperation = nil
                    })
                })
                currentReauthOperation = reauthOperation


                log("refreshToken: \(refreshToken), failed to receive new token")
                self._reAuthenticateUsername(success: success, failure: failure)
            case .Failure(error):
                reauthResult = (false, (error: error as NSError, statusCode: nil))
                failure(error: error as NSError, statusCode: nil)
            }
        }
    }
