             if clientOptions.useETags and _cachedETags[path]
               eTagResponse = _cachedETags[path]
 
-              promise.resolve(eTagResponse.data, eTagResponse.textStatus, eTagResponse.jqXHR)
+              promise.resolve(eTagResponse.data, eTagResponse.textStatus, jqXHR)
             else
               promise.resolve(jqXHR.responseText, textStatus, jqXHR)
 

            # Cache the response to reuse later
            if 'GET' == method and jqXHR.getResponseHeader('ETag') and clientOptions.useETags
              eTag = jqXHR.getResponseHeader('ETag')
              _cachedETags[path] = new ETagResponse(eTag, data, textStatus, jqXHR)

            promise.resolve(data, textStatus, jqXHR)


      # Clear the local cache
      # -------
      @clearCache = clearCache = () -> _cachedETags = {}

      ## Get the local cache
      # -------
      @getCache = getCache = () -> _cachedETags

      ## Set the local cache
      # -------
      @setCache = setCache = (cachedETags) ->
        _cachedETags = _.extend {}, _cachedETags, cachedETags

      # Add a listener that fires when the `rateLimitRemaining` changes as a result of
      # communicating with github.
