diff --git a/src/atlasViewer/atlasViewer.apiService.service.ts b/src/atlasViewer/atlasViewer.apiService.service.ts
index b8da64e12f55949a4fcee0c1f13a838555ec6b9c..c68c60bf953f2cd2951278dab547dbd3a17d5460 100644
--- a/src/atlasViewer/atlasViewer.apiService.service.ts
+++ b/src/atlasViewer/atlasViewer.apiService.service.ts
@@ -1,7 +1,7 @@
 import { Injectable } from "@angular/core";
 import { select, Store } from "@ngrx/store";
 import { Observable } from "rxjs";
-import { distinctUntilChanged, map } from "rxjs/operators";
+import { distinctUntilChanged, map, filter } from "rxjs/operators";
 import { DialogService } from "src/services/dialogService.service";
 import { LoggingService } from "src/services/logging.service";
 import { getLabelIndexMap, getMultiNgIdsRegionsLabelIndexMap, IavRootStoreInterface, safeFilter } from "src/services/stateStore.service";
@@ -140,7 +140,10 @@ export class AtlasViewerAPIServices {
 
   private init() {
     this.loadedTemplates$.subscribe(templates => this.interactiveViewer.metadata.loadedTemplates = templates)
-    this.selectParcellation$.subscribe(parcellation => {
+    this.selectParcellation$.pipe(
+      filter(p => !!p && p.regions),
+      distinctUntilChanged()
+    ).subscribe(parcellation => {
       this.interactiveViewer.metadata.regionsLabelIndexMap = getLabelIndexMap(parcellation.regions)
       this.interactiveViewer.metadata.layersRegionLabelIndexMap = getMultiNgIdsRegionsLabelIndexMap(parcellation)
     })
diff --git a/src/ui/viewerStateController/regionSearch/regionSearch.component.ts b/src/ui/viewerStateController/regionSearch/regionSearch.component.ts
index 6d666d93a47fb56aac3528b7490b688aad020ba2..01fb37ceb42e8522275cf26f86377ad180c18bfa 100644
--- a/src/ui/viewerStateController/regionSearch/regionSearch.component.ts
+++ b/src/ui/viewerStateController/regionSearch/regionSearch.component.ts
@@ -9,6 +9,7 @@ import { VIEWER_STATE_ACTION_TYPES } from "src/services/effect/effect";
 import { ADD_TO_REGIONS_SELECTION_WITH_IDS, CHANGE_NAVIGATION, SELECT_REGIONS } from "src/services/state/viewerState.store";
 import { generateLabelIndexId, getMultiNgIdsRegionsLabelIndexMap, IavRootStoreInterface } from "src/services/stateStore.service";
 import { VIEWERSTATE_CONTROLLER_ACTION_TYPES } from "../viewerState.base";
+import { LoggingService } from "src/services/logging.service";
 
 const filterRegionBasedOnText = searchTerm => region => region.name.toLowerCase().includes(searchTerm.toLowerCase())
   || (region.relatedAreas && region.relatedAreas.some(relatedArea => relatedArea.toLowerCase().includes(searchTerm.toLowerCase())))
@@ -42,6 +43,7 @@ export class RegionTextSearchAutocomplete {
     private store$: Store<IavRootStoreInterface>,
     private dialog: MatDialog,
     private constantService: AtlasViewerConstantsServices,
+    private log: LoggingService
   ) {
 
     this.useMobileUI$ = this.constantService.useMobileUI$
@@ -54,21 +56,26 @@ export class RegionTextSearchAutocomplete {
     this.regionsWithLabelIndex$ = viewerState$.pipe(
       select('parcellationSelected'),
       distinctUntilChanged(),
-      filter(p => !!p),
+      filter(p => !!p && p.regions),
       map(parcellationSelected => {
-        const returnArray = []
-        const ngIdMap = getMultiNgIdsRegionsLabelIndexMap(parcellationSelected, { ngId: 'root', relatedAreas: [] })
-        for (const [ngId, labelIndexMap] of ngIdMap) {
-          for (const [labelIndex, region] of labelIndexMap) {
-            returnArray.push({
-              ...region,
-              ngId,
-              labelIndex,
-              labelIndexId: generateLabelIndexId({ ngId, labelIndex }),
-            })
+        try {
+          const returnArray = []
+          const ngIdMap = getMultiNgIdsRegionsLabelIndexMap(parcellationSelected, { ngId: 'root', relatedAreas: [] })
+          for (const [ngId, labelIndexMap] of ngIdMap) {
+            for (const [labelIndex, region] of labelIndexMap) {
+              returnArray.push({
+                ...region,
+                ngId,
+                labelIndex,
+                labelIndexId: generateLabelIndexId({ ngId, labelIndex }),
+              })
+            }
           }
+          return returnArray
+        } catch (e) {
+          this.log.warn(`getMultiNgIdsRegionsLabelIndexMap error`, e)
+          return []
         }
-        return returnArray
       }),
       shareReplay(1),
     )