             }
         }
         
+        if let currentMapRegion = mapRegion, isDistanceSignificant(betweenRegion: region, andRegion: currentMapRegion) {
+            mapRegion = region
+        } else if mapRegion == nil {
+            mapRegion = region
+        }
+        
         searchTerm = search.string
         
         isProgressHidden = false

    func performWikidataQuery(forSearch search: PlaceSearch) {
        let fail = {
            dispatchOnMainQueue({
                if let region = search.region {
                    self.mapRegion = region
                }
                self.searching = false
                var newSearch = search
                newSearch.needsWikidataQuery = false

            fail()
        }, success: { (region) in
            dispatchOnMainQueue({
                self.searching = false
                var newSearch = search
                newSearch.needsWikidataQuery = false
