diff --git a/src/main.module.ts b/src/main.module.ts
index f163f11d2f07ae6a10a9fef30c54adc205a5bf40..c55025199c41b7e7c32a17da846975f26f86fd96 100644
--- a/src/main.module.ts
+++ b/src/main.module.ts
@@ -26,8 +26,7 @@ import { LocalFileService } from "./services/localFile.service";
 import { NgViewerUseEffect } from "./services/state/ngViewerState.store";
 import { ViewerStateUseEffect } from "./services/state/viewerState.store";
 import { UIService } from "./services/uiService.service";
-import { DatabrowserModule, OVERRIDE_IAV_DATASET_PREVIEW_DATASET_FN, DataBrowserFeatureStore, GET_KGDS_PREVIEW_INFO_FROM_ID_FILENAME } from "src/ui/databrowserModule";
-import { DatabrowserService } from "./ui/databrowserModule/databrowser.service";
+import { DatabrowserModule, OVERRIDE_IAV_DATASET_PREVIEW_DATASET_FN, DataBrowserFeatureStore, GET_KGDS_PREVIEW_INFO_FROM_ID_FILENAME, DatabrowserService } from "src/ui/databrowserModule";
 import { ViewerStateControllerUseEffect } from "./ui/viewerStateController/viewerState.useEffect";
 import { DockedContainerDirective } from "./util/directives/dockedContainer.directive";
 import { DragDropDirective } from "./util/directives/dragDrop.directive";
@@ -57,6 +56,7 @@ import 'src/theme.scss'
 import { DatasetPreviewGlue, datasetPreviewMetaReducer, IDatasetPreviewGlue, GlueEffects } from './glue';
 import { viewerStateHelperReducer, viewerStateFleshOutDetail, viewerStateMetaReducers, ViewerStateHelperEffect } from './services/state/viewerState.store.helper';
 import { take } from 'rxjs/operators';
+import { TOS_OBS_INJECTION_TOKEN } from './ui/kgtos/kgtos.component';
 import { UiEffects } from './services/state/uiState/ui.effects';
 
 export function debug(reducer: ActionReducer<any>): ActionReducer<any> {
@@ -247,12 +247,17 @@ export const GET_STATE_SNAPSHOT_TOKEN = new InjectionToken('GET_STATE_SNAPSHOT_T
       deps: [ DatasetPreviewGlue ]
     },
     DatasetPreviewGlue,
+    
+    {
+      provide: TOS_OBS_INJECTION_TOKEN,
+      useFactory: (dbService: DatabrowserService) => dbService.kgTos$,
+      deps: [ DatabrowserService ]
+    }
 
     /**
      * TODO
      * once nehubacontainer is separated into viewer + overlay, migrate to nehubaContainer module
      */
-    DatabrowserService,
   ],
   bootstrap : [
     AtlasViewer,
diff --git a/src/ui/databrowserModule/databrowser.module.ts b/src/ui/databrowserModule/databrowser.module.ts
index b941f8ce5a44d2212d60a7bd2acf35eafecc774e..36896a9ef523193b0f5e1a7a29326a0dc2db4eec 100644
--- a/src/ui/databrowserModule/databrowser.module.ts
+++ b/src/ui/databrowserModule/databrowser.module.ts
@@ -44,6 +44,7 @@ import { PreviewCardComponent } from "./preview/previewCard/previewCard.componen
 import { LayerBrowserModule } from "../layerbrowser";
 import { DatabrowserDirective } from "./databrowser/databrowser.directive";
 import { ContributorModule } from "./contributor";
+import { DatabrowserService } from "./databrowser.service";
 
 
 const previewEmitFactory = ( overrideFn: (file: any, dataset: any) => void) => {
@@ -127,6 +128,7 @@ const previewEmitFactory = ( overrideFn: (file: any, dataset: any) => void) => {
   ],
   providers: [
     KgSingleDatasetService,
+    DatabrowserService,
     {
       provide: IAV_DATASET_SHOW_DATASET_DIALOG_CMP,
       useValue: SingleDatasetView
diff --git a/src/ui/databrowserModule/index.ts b/src/ui/databrowserModule/index.ts
index a82fb38598b0d164ae5a105e0b99c1ce115218b9..faf02cbcb5592be67a504be04d1719dcb79aa177 100644
--- a/src/ui/databrowserModule/index.ts
+++ b/src/ui/databrowserModule/index.ts
@@ -5,6 +5,7 @@ export {
 } from './databrowser.module'
 
 export { DataBrowserFeatureStore, DATESTORE_FEATURE_KEY } from './store.module'
+export { DatabrowserService } from './databrowser.service'
 
 export {
   DATASTORE_DEFAULT_STATE,
diff --git a/src/ui/databrowserModule/singleDataset/singleDataset.base.ts b/src/ui/databrowserModule/singleDataset/singleDataset.base.ts
index 4ff7e76f005846960807a4fc0d18bed3755ab012..be8f58cb8caf4339f7e4fc8eac166da51f94525d 100644
--- a/src/ui/databrowserModule/singleDataset/singleDataset.base.ts
+++ b/src/ui/databrowserModule/singleDataset/singleDataset.base.ts
@@ -1,5 +1,5 @@
-import { ChangeDetectorRef, Input, OnInit, TemplateRef, OnChanges, OnDestroy } from "@angular/core";
-import { Observable, Subject, Subscription, of, combineLatest } from "rxjs";
+import { ChangeDetectorRef, Input, TemplateRef, OnChanges, OnDestroy } from "@angular/core";
+import { Observable, Subject, Subscription, combineLatest } from "rxjs";
 import { IDataEntry, IFile, IPublication } from 'src/services/state/dataStore.store'
 import { HumanReadableFileSizePipe } from "src/util/pipes/humanReadableFileSize.pipe";
 import { DatabrowserService } from "../databrowser.service";
@@ -10,7 +10,7 @@ import { getKgSchemaIdFromFullId } from "../util/getKgSchemaIdFromFullId.pipe";
 import { MatSnackBar } from "@angular/material/snack-bar";
 
 import { ARIA_LABELS } from 'common/constants'
-import { switchMap, catchError, distinctUntilChanged, filter } from "rxjs/operators";
+import { switchMap, distinctUntilChanged, filter } from "rxjs/operators";
 import { IContributor } from "../contributor";
 
 export {
@@ -110,7 +110,7 @@ export class SingleDatasetBase implements OnChanges, OnDestroy {
     this.favedDataentries$ = this.dbService.favedDataentries$
 
     this.subscriptions.push(
-      combineLatest(
+      combineLatest([
         this.kgSchema$.pipe(
           distinctUntilChanged(),
           filter(v => !!v)
@@ -119,13 +119,11 @@ export class SingleDatasetBase implements OnChanges, OnDestroy {
           distinctUntilChanged(),
           filter(v => !!v)
         )
-      ).pipe(
+      ]).pipe(
         switchMap(([kgSchema, kgId]) => {
           this.fetchFlag = true
           this.cdr.markForCheck()
-          return this.singleDatasetService.getInfoFromKg({ kgSchema, kgId }).pipe(
-            catchError((err, obs) => of(null))
-          )
+          return this.singleDatasetService.getInfoFromKg({ kgSchema, kgId })
         })
       ).subscribe(dataset => {
         if (!dataset) return
@@ -145,6 +143,12 @@ export class SingleDatasetBase implements OnChanges, OnDestroy {
         
         this.fetchFlag = false
         this.cdr.markForCheck()
+      },
+      err => {
+        this.fetchFlag = false
+        this.name = `[This dataset cannot be fetched right now]`
+        this.description = ` `
+        this.cdr.markForCheck()
       })
     )
     
diff --git a/src/ui/kgtos/kgtos.component.ts b/src/ui/kgtos/kgtos.component.ts
index e887d95f297b0e848df8f087169b09a14bd76444..52a3a4239f2c5a636fa0becdd1306f9621fa8921 100644
--- a/src/ui/kgtos/kgtos.component.ts
+++ b/src/ui/kgtos/kgtos.component.ts
@@ -1,6 +1,7 @@
-import { Component } from "@angular/core";
+import { Component, Inject, InjectionToken, Optional } from "@angular/core";
 import { Observable } from "rxjs";
-import { DatabrowserService } from "../databrowserModule/databrowser.service";
+
+export const TOS_OBS_INJECTION_TOKEN = new InjectionToken<Observable<string>>('TOS_STRING')
 
 @Component({
   selector: 'kgtos-component',
@@ -15,8 +16,8 @@ export class KGToS {
   public kgTos$: Observable<string>
 
   constructor(
-    private dbService: DatabrowserService,
+    @Optional() @Inject(TOS_OBS_INJECTION_TOKEN) kgTos$
   ) {
-    this.kgTos$ = this.dbService.kgTos$
+    this.kgTos$ = kgTos$
   }
 }