                     # between @ and the caller.
                     @_deepGet()
                 throw e
-
-        @_deepGet()
+            finally
+                @_getting = false
+
+            @_deepGet()
 
     indexOf: (x) ->
         # Reactive

                    lastValueResult = e
                else throw e

            @_getting = false

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

        if arguments.length
            throw new Meteor.Error "Can't pass argument to AutoVar.get"

        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
