         if arguments.length
             throw new Meteor.Error "Can't pass argument to AutoVar.get"
 
-        @_getting = true
         if @_valueComp?
             @constructor.flush()
+            existingValue = @_deepGet()
+            if existingValue is undefined and Tracker.active
+                throw J.fetching.FETCH_IN_PROGRESS
+            else existingValue
         else
+            @_getting = true
             try
                 @_setupValueComp()
             catch e

                    lastValueResult = e
                else throw e

            @_getting = false

            @_valueComp.onInvalidate =>
                unless @_valueComp.stopped
                    if @ not in @constructor._pending

                    # between @ and the caller.
                    @_deepGet()
                throw e
            finally
                @_getting = false

            @_deepGet()

    indexOf: (x) ->
        # Reactive
