diff --git a/CHANGELOG.md b/CHANGELOG.md
index b995ca18bd41c6b08d11db107d522f81071abef0..7ae7743f45729760040cc7b4895970e672695c91 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 ## [3.3.0] - 2020-05
 ### Added
 - #90 => Dynamic documentation to explain how to export results via server urls
+- #88 => Search by cone search
+- #93 => Auto select dataset if only one present
 
 ### Fixed
 
diff --git a/src/app/search/components/dataset/dataset-tabs.component.html b/src/app/search/components/dataset/dataset-tabs.component.html
index b63422fc01652e446a980ac41d4954c98ccbe93d..ba362d2edf3e5e132ab0ca7144824c0b75c80a88 100644
--- a/src/app/search/components/dataset/dataset-tabs.component.html
+++ b/src/app/search/components/dataset/dataset-tabs.component.html
@@ -4,7 +4,6 @@
         <ul class="p-0">
             <li *ngFor="let dataset of getDatasetListByFamily(datasetFamilyList[0].id); last as isLast"
                 class="list-unstyled px-3 pt-3 pb-0">
-                <!-- {{ i }} -->
                 <app-dataset-card [dataset]="dataset" [project]="getProject(dataset)"
                     [datasetSelected]="datasetSelected" (select)="select.emit($event)">
                 </app-dataset-card>
@@ -30,7 +29,7 @@
                     </span>
                 </div>
             </button>
-            <div  *ngFor="let dataset of getDatasetListByFamily(family.id); last as isLast">
+            <div *ngFor="let dataset of getDatasetListByFamily(family.id); last as isLast">
                 <app-dataset-card
                     [dataset]="dataset" 
                     [project]="getProject(dataset)"
diff --git a/src/app/search/components/dataset/dataset-tabs.component.spec.ts b/src/app/search/components/dataset/dataset-tabs.component.spec.ts
index f9685ac050cf2b4b8f20d95a9f2dbfd2247f8a36..14c11899b77c24bccdf0f75e6818d99638fc63d0 100644
--- a/src/app/search/components/dataset/dataset-tabs.component.spec.ts
+++ b/src/app/search/components/dataset/dataset-tabs.component.spec.ts
@@ -21,11 +21,11 @@ describe('[Search][Dataset] Component: DatasetTabsComponent', () => {
     })
     class TestHostComponent {
         @ViewChild(DatasetTabsComponent, { static: false })
-        public testedComponent: DatasetTabsComponent;
-        private projectList: Project[] = PROJECT_LIST;
-        private datasetList: Dataset[] = DATASET_LIST;
-        private datasetFamilyList: Family[] = DATASET_FAMILY_LIST;
-        private datasetSelected = 'cat_1';
+        testedComponent: DatasetTabsComponent;
+        projectList: Project[] = PROJECT_LIST;
+        datasetList: Dataset[] = DATASET_LIST;
+        datasetFamilyList: Family[] = DATASET_FAMILY_LIST;
+        datasetSelected = 'cat_1';
     }
 
     @Component({ selector: 'app-dataset-card', template: '' })
@@ -69,5 +69,11 @@ describe('[Search][Dataset] Component: DatasetTabsComponent', () => {
         const project = testedComponent.getProject(DATASET);
         expect(project.name).toBe('project_1');
     });
+    
+    it('should select dataset if only one dataset in instance', () => {
+        testedComponent.select.subscribe((event: string) => expect(event).toBe('cat_1'));
+        testHostComponent.datasetList = [DATASET]
+        testHostFixture.detectChanges();
+    });
 });
 
diff --git a/src/app/search/components/dataset/dataset-tabs.component.ts b/src/app/search/components/dataset/dataset-tabs.component.ts
index c127b296dcf604ca2e76d99eb8c6939c37f75ffa..918c9f654d9f542704cf2871475ca2be5bafa6af 100644
--- a/src/app/search/components/dataset/dataset-tabs.component.ts
+++ b/src/app/search/components/dataset/dataset-tabs.component.ts
@@ -10,13 +10,21 @@ import { Project, Dataset, Family } from '../../../metamodel/model';
 })
 export class DatasetTabsComponent {
     @Input() projectList: Project[];
-    @Input() datasetList: Dataset[];
+    @Input() 
+    set datasetList(datasetList: Dataset[]) {
+        this.datasets = datasetList;
+        if (datasetList.length === 1) {
+            this.select.emit(datasetList[0].name);
+        }
+    }
     @Input() datasetFamilyList: Family[];
     @Input() datasetSelected: string;
     @Output() select: EventEmitter<string> = new EventEmitter();
+    
+    datasets: Dataset[];
 
     getDatasetListByFamily(idFamily: number): Dataset[] {
-        return this.datasetList
+        return this.datasets
             .filter(d => d.id_dataset_family === idFamily)
             .sort((a, b) => a.display - b.display);
     }
diff --git a/src/app/search/containers/dataset.component.ts b/src/app/search/containers/dataset.component.ts
index cd25cd2d86c0e7eee54c69c13c2cb219ab6ee9a6..d1c99186f5d9b2f91437376ba28ebaca82850854 100644
--- a/src/app/search/containers/dataset.component.ts
+++ b/src/app/search/containers/dataset.component.ts
@@ -70,7 +70,9 @@ export class DatasetComponent implements OnInit {
     }
 
     selectDataset(datasetName: string): void {
-        this.store.dispatch(new searchActions.NewSearchAction(datasetName));
+        // Create a micro tasks that is processed after the current synchronous code
+        // This micro task prevent the expression has changed after it was checked
+        Promise.resolve(null).then(() => this.store.dispatch(new searchActions.NewSearchAction(datasetName)));
         this.store.dispatch(new attributeActions.LoadAttributeSearchMetaAction(datasetName));
         this.store.dispatch(new criteriaActions.LoadCriteriaSearchMetaAction(datasetName));
         this.store.dispatch(new outputActions.LoadOutputSearchMetaAction(datasetName));