     }
     
     func selectVisibleKeyToSelectIfNecessary() {
-        guard let keyToSelect = articleKeyToSelect else {
+        guard !isMovingToRegion, let keyToSelect = articleKeyToSelect else {
             return
         }
         guard selectVisibleArticle(articleKey: keyToSelect) else {

            if (self.needsRegroup) {
                self.needsRegroup = false
                self.regroupArticlesIfNecessary(forVisibleRegion: self.mapRegion ?? self.mapView.region)
            }
        }
    }

    
    // MARK: - MKMapViewDelegate
    
    private var isMovingToRegion = false
    
    func mapView(_ mapView: MKMapView, regionWillChangeAnimated animated: Bool) {
        deselectAllAnnotations()
        isMovingToRegion = true
    }
    
    func selectVisibleArticle(articleKey: String) -> Bool {
