         return [ticks, resolution];
 
     isSyncing: () ->
-        return !(@lastSyncState is @currentSyncState) || !(@currentBucketSyncState is @lastBucketSyncState)
+        return @toFetch > 0
 
     doFetch: (start, end, params) ->
-        # TODO: if below threshold -> do the usual fetching
         { scales } = params
         [ ticks, resolution ] = @makeTicks(scales.x)
 

        { @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, () =>
