diff --git a/map/bookmark_manager.cpp b/map/bookmark_manager.cpp index 6858f94dc3..ab42e98000 100644 --- a/map/bookmark_manager.cpp +++ b/map/bookmark_manager.cpp @@ -1990,10 +1990,11 @@ BookmarkManager::KMLDataCollectionPtr BookmarkManager::LoadBookmarks( void BookmarkManager::LoadBookmarks() { CHECK_THREAD_CHECKER(m_threadChecker, ()); - ClearCategories(); + CHECK(!m_loadBookmarksCalled, ("LoadBookmarks should be called only once.")); + m_loadBookmarksCalled = true; + LoadMetadata(); - m_loadBookmarksFinished = false; NotifyAboutStartAsyncLoading(); GetPlatform().RunTask(Platform::Thread::File, [this]() { diff --git a/map/bookmark_manager.hpp b/map/bookmark_manager.hpp index 27181905c7..cd1bb9c4e4 100644 --- a/map/bookmark_manager.hpp +++ b/map/bookmark_manager.hpp @@ -740,6 +740,7 @@ private: AsyncLoadingCallbacks m_asyncLoadingCallbacks; std::atomic m_needTeardown; size_t m_openedEditSessionsCount = 0; + bool m_loadBookmarksCalled = false; bool m_loadBookmarksFinished = false; bool m_firstDrapeNotification = false; bool m_notificationsEnabled = true;