         who   : @getWhoParams name, correlationName
     .then(kite.bound 'setTransport')
     .then(kite.bound 'logTransportFailures')
-    .catch(@error.bind this)
+    .catch (err) =>
+      warn err
 
+      {message} = err
+      message   = if message then message else err
+
+      ErrorLog.create message
+
+      # delete this from the cache:
+      @setCachedKite name, correlationName
     kite
 
   getKiteProxy: (options) ->

    .catch(@error.bind this)

    kite

  error: (err)->
    warn err

    {message} = err
    message   = if message then message else err

    ErrorLog.create message

  getKite: (options = {}) ->
    { name, correlationName, region } = options

    if (kite = @getCachedKite name, correlationName)?
      return kite

    kite = @getKiteProxy options

    @fetchRegion(correlationName, region).then (region) =>
