       if not @_recomputing and not @stopped
         queue.queueTask =>
           @_recompute()
-          Tracker._postRun()
 
       @invalidated = true
 
       for callback in @_onInvalidateCallbacks
-        callback()
+        Tracker.nonreactive =>
+          callback @
       @_onInvalidateCallbacks = []
 
   stop: ->

    @_onInvalidateCallbacks = []
    @_recomputing = false

    Tracker._currentComputation.withValue @, =>
      @_func = Meteor.bindEnvironment f, null, @

    errored = true
    try


  nonreactive: (f) ->
    Tracker._currentComputation.withValue null, f

  onInvalidate: (f) ->
    throw new Error "Tracker.onInvalidate requires a currentComputation" unless Tracker.active
