 		if let last = allWorkouts?.last {
 			predicate = NSPredicate(format: "%K <= %@", HKPredicateKeyPathStartDate, last.startDate as NSDate)
 			let sameDateCount = allWorkouts.count - (allWorkouts.firstIndex { $0.startDate == last.startDate } ?? allWorkouts.count)
-			limit = target - (displayWorkouts?.count ?? 0) + sameDateCount
+			let missing = target - (displayWorkouts?.count ?? 0)
+			limit = sameDateCount + min(batchSize, isFiltering ? missing * filteredLoadMultiplier : missing)
 		} else {
 			predicate = nil
 			limit = target

class ListTableViewController: UITableViewController, GADBannerViewDelegate, WorkoutDelegate, EnhancedNavigationBarDelegate {
	
	private let batchSize = 40
	private var moreToBeLoaded = true
	private var isLoadingMore = false
	

					}
				}
			} else {
				self.moreToBeLoaded = false
				addedLineCount = nil
				loadingMore = false
				wasEmpty = true
