diff --git a/src/ui/layerbrowser/layerbrowser.component.ts b/src/ui/layerbrowser/layerbrowser.component.ts
index 2dd2a8aa0bcca320f72a2eeff7c1ac7b2c3ed72f..ca537076ad572f367913f0e6ce0dc93df8391ba8 100644
--- a/src/ui/layerbrowser/layerbrowser.component.ts
+++ b/src/ui/layerbrowser/layerbrowser.component.ts
@@ -1,7 +1,7 @@
 import { Component,  OnDestroy } from "@angular/core";
 import { NgLayerInterface } from "../../atlasViewer/atlasViewer.component";
 import { Store, select } from "@ngrx/store";
-import { ViewerStateInterface, isDefined, REMOVE_NG_LAYER, FORCE_SHOW_SEGMENT, safeFilter } from "../../services/stateStore.service";
+import { ViewerStateInterface, isDefined, REMOVE_NG_LAYER, FORCE_SHOW_SEGMENT, safeFilter, getNgIds } from "../../services/stateStore.service";
 import { Subscription, Observable } from "rxjs";
 import { filter, distinctUntilChanged, map, delay, buffer } from "rxjs/operators";
 import { AtlasViewerConstantsServices } from "src/atlasViewer/atlasViewer.constantService.service";
@@ -42,12 +42,28 @@ export class LayerBrowser implements OnDestroy{
     this.ngLayers$ = store.pipe(
       select('viewerState'),
       select('templateSelected'),
-      map(templateSelected => (templateSelected && !this.advancedMode && [
-        templateSelected.ngId,
-        ...templateSelected.parcellations.map(p => p.ngId)
-      ]) || [])
+      map(templateSelected => {
+        if (!templateSelected) return []
+        if (this.advancedMode) return []
+        return [
+          templateSelected.ngId,
+          ...templateSelected.parcellations.reduce((acc, curr) => {
+            return acc.concat([
+              curr.ngId,
+              ...getNgIds(curr.regions)
+            ])
+          }, [])
+        ]
+      }),
+      /**
+       * get unique array
+       */
+      map(nonUniqueArray => Array.from(new Set(nonUniqueArray))),
+      /**
+       * remove falsy values
+       */
+      map(arr => arr.filter(v => !!v))
     )
-
     /**
      * TODO
      * this is no longer populated