                 b = new Date(bucket.getTime() + (dt or resolution))
                 source(a, b, params, (count) =>
                     @bucketCache.setBucket(resolution, a, dt, count)
-                    fetched += 1
-                    # if bucketsToFetch.length == fetched and @currentBucketSyncState is @lastBucketSyncState
-                    # if bucketsToFetch.length == fetched and @currentBucketSyncState is @lastBucketSyncState
+                    @toFetch -= 1
                     @listeners.synced()
                     summaryCallback()
                 )

        { @bucketSource } = options
        currentBucketSyncState = 0
        lastBucketSyncState = 0

    useBuckets: (start, end) ->
        [ isLower, definite ] = @bucketCache.isCountLower(start, end, @histogramThreshold)

                bucketsToFetch.push([tick, dt])

        if bucketsToFetch.length > 0
            @toFetch += bucketsToFetch.length
            @listeners.syncing()

            summaryCallback = after(bucketsToFetch.length, () =>
