         regroupArticlesIfNecessary(forVisibleRegion: mapView.region)
         articleKeyToSelect = nil
         showRedoSearchButtonIfNecessary(forVisibleRegion: mapView.region)
+        guard let toSelect = placeToSelect else {
+            return
+        }
+        
+        placeToSelect = nil
+        
+        guard let articleToSelect = toSelect.articles.first else {
+            return
+        }
+        
+        let annotations = mapView.annotations(in: mapView.visibleMapRect)
+        for annotation in annotations {
+            guard let place = annotation as? ArticlePlace,
+                place.articles.count == 1,
+                let article = place.articles.first,
+                article.key == articleToSelect.key else {
+                    continue
+            }
+            selectArticlePlace(place)
+            break
+        }
     }
 
     var placeGroupVC: ArticlePlaceGroupViewController?

            return
        }
        performDefaultSearch(withRegion: region)
    }
    
    func selectPlaceToSelectIfNecessary() {
        guard let toSelect = placeToSelect else {
            return
        }
        let annotations = mapView.annotations(in: mapView.visibleMapRect)
        for annotation in annotations {
            guard let place = annotation as? ArticlePlace, toSelect === place else {
                continue
            }
            deselectAllAnnotations()
            selectArticlePlace(place)
            placeToSelect = nil
            break
        }
    }
    
    func performDefaultSearch(withRegion region: MKCoordinateRegion) {

            regroupArticlesIfNecessary(forVisibleRegion: region)
            showRedoSearchButtonIfNecessary(forVisibleRegion: region)

            mapView.setRegion(region, animated: true)
        }
        
        get {
