     
     // MARK: - Searching
     
+    var currentSearchFilter: PlaceFilterType = .top { // TODO: remember last setting?
+        didSet {
+            guard oldValue != currentSearchFilter else {
+                return
+            }
+            
+            updateSearchFilterTitle()
+            
+            if let currentSearch = self.currentSearch {
+                self.currentSearch = PlaceSearch(filter: currentSearchFilter, type: currentSearch.type, origin: currentSearch.origin, sortStyle: currentSearch.sortStyle, string: currentSearch.string, region: currentSearch.region, localizedDescription: currentSearch.localizedDescription, searchResult: currentSearch.searchResult)
+            }
+        }
+    }
+    
     var currentSearch: PlaceSearch? {
         didSet {
             guard let search = currentSearch else {
                 return
             }
             
+            updateSearchFilterTitle()
             performSearch(search)
             
             switch search.type {

    private var searchFilterListController: PlaceSearchFilterListController!
    
    private var extendedNavBarHeightOrig: CGFloat?
    
    private var currentSearchFilter: PlaceFilterType = .top { // TODO: remember last setting?
        didSet {
            updateSearchFilterTitle()
        }
    }

    fileprivate func updateSearchFilterTitle() {
        
        guard let isSearchFilterDropDownShowing = self.isSearchFilterDropDownShowing else {
            return
            
        }

        let title: String

            title = localizedStringForKeyFallingBackOnEnglish("places-filter-list-title")
            image = #imageLiteral(resourceName: "chevron-up")
        } else {
            switch currentSearch.filter {
            case .top:
                title = localizedStringForKeyFallingBackOnEnglish("places-filter-top-articles")
            case .saved:
