diff --git a/src/atlasViewer/atlasViewer.history.service.ts b/src/atlasViewer/atlasViewer.history.service.ts
index c58aa5a5f32d4081e5e922cc0d1fa31188aa915b..6df36758a8d45a192a1d8f2ea79e7ab728075285 100644
--- a/src/atlasViewer/atlasViewer.history.service.ts
+++ b/src/atlasViewer/atlasViewer.history.service.ts
@@ -40,7 +40,7 @@ export class AtlasViewerHistoryUseEffect implements OnDestroy {
     )),
   ).pipe(
     withLatestFrom(this.store$),
-    map(([searchUrl, storeState]: [string, IavRootStoreInterface] ) => {
+    map(([searchUrl, storeState]: [string, any] ) => {
       const search = new URLSearchParams(searchUrl)
       try {
         if (Array.from(search.keys()).length === 0) {
@@ -75,6 +75,10 @@ export class AtlasViewerHistoryUseEffect implements OnDestroy {
               ...defaultRootState.viewerState,
               fetchedTemplates: storeState.viewerState.fetchedTemplates,
             },
+            viewerStateHelper: {
+              ...defaultRootState.viewerStateHelper,
+              fetchedAtlases: storeState.viewerStateHelper.fetchedAtlases
+            }
           },
         }
       }
diff --git a/src/services/state/viewerState/selectors.ts b/src/services/state/viewerState/selectors.ts
index 934f6e003573d0b0955a3ac613d7da3e1261fd15..875901dd492dd18deca408f93e8eb6c86534441f 100644
--- a/src/services/state/viewerState/selectors.ts
+++ b/src/services/state/viewerState/selectors.ts
@@ -40,6 +40,7 @@ export const viewerStateSelectedTemplatePureSelector = createSelector(
   viewerStateFetchedTemplatesSelector,
   viewerStateSelectedTemplateSelector,
   (fetchedTemplates, selectedTemplate) => {
+    if (!selectedTemplate) return null
     return fetchedTemplates.find(t => t['@id'] === selectedTemplate['@id'])
   }
 )
@@ -104,6 +105,7 @@ export const viewerStateGetSelectedAtlas = createSelector(
   helperState => {
     if (!helperState) return null
     const { selectedAtlasId, fetchedAtlases } = helperState
+    if (!selectedAtlasId) return null
     return selectedAtlasId && fetchedAtlases.find(a => a['@id'] === selectedAtlasId)
   }
 )
@@ -132,7 +134,7 @@ export const viewerStateAtlasParcellationSelector = createSelector(
 
 export const viewerStateAtlasLatestParcellationSelector = createSelector(
   viewerStateAtlasParcellationSelector,
-  parcs => parcs.filter( p => !p['@version'] || !p['@version']['@next'])
+  parcs => (parcs && parcs.filter( p => !p['@version'] || !p['@version']['@next']) || [])
 )
 
 export const viewerStateParcVersionSelector = createSelector(
@@ -178,12 +180,16 @@ export const viewerStateParcVersionSelector = createSelector(
 export const viewerStateSelectedTemplateFullInfoSelector = createSelector(
   viewerStateGetSelectedAtlas,
   viewerStateFetchedTemplatesSelector,
-  ({ templateSpaces }, fetchedTemplates) => templateSpaces.map(templateSpace => {
-    const fullTemplateInfo = fetchedTemplates.find(t => t['@id'] === templateSpace['@id'])
-    return {
-      ...templateSpace,
-      ...(fullTemplateInfo || {}),
-      darktheme: (fullTemplateInfo || {}).useTheme === 'dark'
-    }
-  })
+  (selectedAtlas, fetchedTemplates) => {
+    if (!selectedAtlas) return null
+    const { templateSpaces } = selectedAtlas
+    return templateSpaces.map(templateSpace => {
+      const fullTemplateInfo = fetchedTemplates.find(t => t['@id'] === templateSpace['@id'])
+      return {
+        ...templateSpace,
+        ...(fullTemplateInfo || {}),
+        darktheme: (fullTemplateInfo || {}).useTheme === 'dark'
+      }
+    })
+  } 
 )