               time = moment(timestamp * 1000)
               $table.append "<tr><th>#{time.format('MMMM Do YYYY, h:mm:ss a')}</th><td class='cm-number number'>#{value?.toFixed(3) or '(none)'}</td></tr>"
             $result.append $table
-        promise.fail @keeping_context (error) =>
+        .fail (error) =>
           @error error
+          Q.reject error
         promise
 
     fn 'graph', 'Graphs Graphite data', (args...) ->

      @async ->
        $result = @div()
        promise = graphite.get_data params
        promise.done (response) =>
          for series in response
            $header = $ '<h3>'
            $header.text series.target

      @value @renderable promise, @detached -> @async ->
        $ul = $ '<ul class="find-results"/>'
        @add_rendered $ul
        promise.then ({query, result}) =>
          query_parts = query.split '.'
          for node in result
            $li = $ '<li class="cm-string"/>'
