     }
     
     func updateSavedPlacesCountInCurrentMapRegionIfNecessary() {
+        guard topPlacesCountInCurrentMapRegion == nil else {
+            return
+        }
+        
         if let currentSearch = self.currentSearch, currentSearchFilter == .saved {
             var tempSearch = PlaceSearch(filter: .top, type: currentSearch.type, origin: .system, sortStyle: currentSearch.sortStyle, string: nil, region: mapView.region, localizedDescription: nil, searchResult: nil)
             tempSearch.needsWikidataQuery = false

            }
            
            updateSearchFilterTitle()
            
//            if let currentSearch = self.currentSearch, isSearchFilterDropDownShowing, currentSearchFilter == .saved {
//                var tempSearch = PlaceSearch(filter: .top, type: currentSearch.type, origin: .system, sortStyle: currentSearch.sortStyle, string: currentSearch.string, region: currentSearch.region, localizedDescription: nil, searchResult: nil)
//                tempSearch.needsWikidataQuery = false
//                
//                performSearch(tempSearch, updatePlaces: false, completion: { (searchResults) in
//                    guard let results = searchResults else {
//                        return
//                    }
//                    DDLogDebug("got \(results.count) results!")
//                })
//            }
      
        }
    }
    

    private var extendedNavBarHeightOrig: CGFloat?
    private var touchOutsideOverlayView: TouchOutsideOverlayView!
    private var topPlacesCountInCurrentMapRegion: Int?
    private var displayCountForTopPlaces: Int {
        get {
            switch (self.currentSearchFilter) {
            case .top:
                return articleFetchedResultsController.fetchedObjects?.count ?? 0
            case .saved:
                return topPlacesCountInCurrentMapRegion ?? 0
            }
        }
    }
    
    lazy private var placeSearchService: PlaceSearchService! = {
        return PlaceSearchService(dataStore: self.dataStore)
