     
     private let accountStore: AccountStore
     
-    /// Set to true to stop the refresh cycle for pin code auth
-    private var cancelPinCodeRequest: Bool = false
+    /// Set to false to stop the refresh cycle for pin code auth
+    private var continuePinCodeAuthorizationRefreshCycle: Bool = true
     
     public init(client: VimeoClient)
     {

                case .Failure(let error):
                    if error.statusCode == HTTPStatusCode.BadRequest.rawValue // 400: Bad Request implies the code hasn't been activated yet, so try again.
                    {
                        if !self.cancelPinCodeRequest
                        {
                            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(self.dynamicType.PinCodeRequestInterval * NSTimeInterval(NSEC_PER_SEC))), dispatch_get_main_queue())
                            {
                                doPinCodeAuthorization(userCode: userCode, deviceCode: deviceCode)
                            }

    /// Pin code authentication, for devices like Apple TV.
    public func pinCode(infoHandler infoHandler: (pinCode: String, activateLink: String) -> Void, completion: AuthenticationCompletion)
    {
        weak var weakSelf = self
        func doPinCodeAuthorization(userCode userCode: String, deviceCode: String)
        {
            guard let strongSelf = weakSelf
                else
            {
                return
            }
            
            let authorizationRequest = AuthenticationRequest.authorizePinCodeRequest(userCode: userCode, deviceCode: deviceCode)
            
            strongSelf.authenticate(request: authorizationRequest) { result in
                
                guard let strongSelf = weakSelf
                else
                {
                    return
                }
                
                switch result
                {
