diff --git a/src/app/metamodel/effects/attribute.effects.ts b/src/app/metamodel/effects/attribute.effects.ts
index 95cb91eeef0c1255b65f737bc764908784161513..af615839f2a4ad12abd88e413f194e6ce6dea17a 100644
--- a/src/app/metamodel/effects/attribute.effects.ts
+++ b/src/app/metamodel/effects/attribute.effects.ts
@@ -42,14 +42,14 @@ export class AttributeEffects {
         ofType(attributeActions.LOAD_MULTIPLE_ATTRIBUTE_LISTS),
         switchMap((action: attributeActions.LoadMultipleAttributeListsAction) => {
             let requests: Observable<any>[] = [];
-            action.payload.map(dname => {
+            action.payload.forEach(dname => {
                 requests.push(this.attributeService.retrieveAttributeList(dname));
             });
             return forkJoin(requests);
         }),
         switchMap((data: { datasetName: string, attributeList: Attribute[] }[]) => {
             let attributesByDataset: AttributesByDataset[] = [];
-            data.map(d => {
+            data.forEach(d => {
                 const attributeList: AttributesByDataset = {
                     datasetName: d.datasetName,
                     isLoading: false,
diff --git a/src/app/metamodel/selectors/dataset.selector.spec.ts b/src/app/metamodel/selectors/dataset.selector.spec.ts
index 9922a005626fb53069e032654598317ff46da51c..a09e545762c2645a4ebee0212138778d61ed4c88 100644
--- a/src/app/metamodel/selectors/dataset.selector.spec.ts
+++ b/src/app/metamodel/selectors/dataset.selector.spec.ts
@@ -1,5 +1,7 @@
 import * as datasetSelector from './dataset.selector';
 import * as fromDataset from '../reducers/dataset.reducer';
+import { Dataset } from '../model';
+import { DATASET_LIST } from '../../../settings/test-data';
 
 describe('[Metamodel] Dataset selector', () => {
     it('should get datasetSearchMetaIsLoading', () => {
@@ -21,6 +23,20 @@ describe('[Metamodel] Dataset selector', () => {
         const state = { metamodel: { dataset: { ...fromDataset.initialState }}};
         expect(datasetSelector.getDatasetList(state).length).toEqual(0);
     });
+
+    it('should get datasetList with cone search enabled', () => {
+        const state = {
+            metamodel: {
+                dataset: {
+                    ...fromDataset.initialState,
+                    datasetList: DATASET_LIST
+                }
+            }
+        };
+        const datasetWithConeSearchList: Dataset[] = datasetSelector.getDatasetWithConeSearchList(state);
+        expect(datasetWithConeSearchList.length).toEqual(1);
+        expect(datasetWithConeSearchList[0].name).toEqual('cat_1');
+    });
    
     it('should get datasetFamilyList', () => {
         const state = { metamodel: { dataset: { ...fromDataset.initialState }}};
diff --git a/src/app/metamodel/selectors/dataset.selector.ts b/src/app/metamodel/selectors/dataset.selector.ts
index 740d9a0b104e68872c4e4cd2044317401c0c8d35..64866336fa252bb45f0d2b3304260d395e58df56 100644
--- a/src/app/metamodel/selectors/dataset.selector.ts
+++ b/src/app/metamodel/selectors/dataset.selector.ts
@@ -2,6 +2,7 @@ import { createSelector } from '@ngrx/store';
 
 import * as metamodel from '../reducers';
 import * as dataset from '../reducers/dataset.reducer';
+import { Dataset } from '../model';
 
 export const getDatasetState = createSelector(
     metamodel.getMetamodelState,
@@ -28,6 +29,13 @@ export const getDatasetList = createSelector(
     dataset.getDatasetList
 );
 
+export const getDatasetWithConeSearchList = createSelector(
+    getDatasetList,
+    (datasetList: Dataset[]) => {
+        return  datasetList.filter(d => d.config.cone_search && d.config.cone_search.enabled === true);
+    }
+);
+
 export const getDatasetFamilyList = createSelector(
     getDatasetState,
     dataset.getDatasetFamilyList
diff --git a/src/app/search-multiple/components/datasets/dataset-list.component.html b/src/app/search-multiple/components/datasets/dataset-list.component.html
index 6feadc596866901a175ffd8f72a0328813baa173..489444e2fbc642e5ecff92759c7f9d51656c740b 100644
--- a/src/app/search-multiple/components/datasets/dataset-list.component.html
+++ b/src/app/search-multiple/components/datasets/dataset-list.component.html
@@ -1,5 +1,5 @@
 <div class="row">
-    <div *ngFor="let project of getProjectSortedByName()" class="col-12 col-lg-6 col-xl-4 my-3 text-center">
+    <div *ngFor="let project of getProject()" class="col-12 col-lg-6 col-xl-4 my-3 text-center">
         <app-datasets-by-project
             [project]="project"
             [datasetList]="getDatasetsByProject(project.name)"
diff --git a/src/app/search-multiple/components/datasets/dataset-list.component.spec.ts b/src/app/search-multiple/components/datasets/dataset-list.component.spec.ts
index ce893263b45580c1793edd5d5e446453b20f2d9e..9d389694f6017ce816d20f38786a713ab9101b97 100644
--- a/src/app/search-multiple/components/datasets/dataset-list.component.spec.ts
+++ b/src/app/search-multiple/components/datasets/dataset-list.component.spec.ts
@@ -3,7 +3,7 @@ import { Component, Input, ViewChild } from '@angular/core';
 
 import { DatasetListComponent } from './dataset-list.component';
 import { Project, Dataset } from '../../../metamodel/model';
-import { PROJECT_LIST, DATASET_LIST } from '../../../../settings/test-data';
+import { PROJECT_LIST, DATASET } from '../../../../settings/test-data';
 
 describe('[SearchMultiple][Datasets] Component: DatasetListComponent', () => {
     @Component({
@@ -19,7 +19,7 @@ describe('[SearchMultiple][Datasets] Component: DatasetListComponent', () => {
         @ViewChild(DatasetListComponent, { static: false })
         public testedComponent: DatasetListComponent;
         public projectList: Project[] = PROJECT_LIST;
-        public datasetList: Dataset[] = DATASET_LIST;
+        public datasetList: Dataset[] = [DATASET];
         public selectedDatasets: string[] = [];
     }
 
@@ -54,24 +54,22 @@ describe('[SearchMultiple][Datasets] Component: DatasetListComponent', () => {
         expect(testedComponent).toBeTruthy();
     });
 
-    it('#getProjectSortedByName() should return sorted project list', () => {
-        const sortedProjectList: Project[] = testedComponent.getProjectSortedByName();
-        expect(sortedProjectList.length).toBe(2);
+    it('#getProject() should return sorted project list', () => {
+        const sortedProjectList: Project[] = testedComponent.getProject();
+        expect(sortedProjectList.length).toBe(1);
         expect(sortedProjectList[0].name).toBe('project_1');
-        expect(sortedProjectList[1].name).toBe('project_2');
     });
 
     it('#getDatasetsByProject() should return dataset list for the given project', () => {
         const datasetList: Dataset[] = testedComponent.getDatasetsByProject('project_1');
-        expect(datasetList.length).toBe(2);
+        expect(datasetList.length).toBe(1);
         expect(datasetList[0].name).toBe('cat_1');
-        expect(datasetList[1].name).toBe('cat_2');
     });
 
     it('#getIsAllSelected() should return true if all datasets of the given project are selected', () => {
-        testHostComponent.selectedDatasets = ['cat_3'];
+        testHostComponent.selectedDatasets = ['cat_1'];
         testHostFixture.detectChanges();
-        expect(testedComponent.getIsAllSelected('project_2')).toBeTruthy();
+        expect(testedComponent.getIsAllSelected('project_1')).toBeTruthy();
     });
 
     it('#getIsAllSelected() should return false if not all datasets of the given project are selected', () => {
diff --git a/src/app/search-multiple/components/datasets/dataset-list.component.ts b/src/app/search-multiple/components/datasets/dataset-list.component.ts
index 2291178b693ae60063a35a3a4ffa7b2c2b85b991..17e704ac8edecc5d9099b8aa46ad32cec978f81e 100644
--- a/src/app/search-multiple/components/datasets/dataset-list.component.ts
+++ b/src/app/search-multiple/components/datasets/dataset-list.component.ts
@@ -14,8 +14,18 @@ export class DatasetListComponent {
     @Output() updateSelectedDatasets: EventEmitter<string[]> = new EventEmitter();
 
 
-    getProjectSortedByName(): Project[] {
-        return [...this.projectList].sort((a, b) => a.name.localeCompare(b.name));
+    // Return project that contains datasets with cone search enabled
+    // Return projects are sorted by name
+    getProject(): Project[] {
+        const projectNames: string[] = [];
+        this.datasetList.forEach(d => {
+            if (!projectNames.includes(d.project_name)) {
+                projectNames.push(d.project_name);
+            }
+        });
+        return [...this.projectList]
+            .filter(p => projectNames.includes(p.name))
+            .sort((a, b) => a.name.localeCompare(b.name));
     }
 
     getDatasetsByProject(projectName: string): Dataset[] {
diff --git a/src/app/search-multiple/components/result/datasets-result.component.ts b/src/app/search-multiple/components/result/datasets-result.component.ts
index e699ebdb175b9d1455b1c0e962c0be0e2992e176..616d043382d29734683b1a3518a6a07078b93ef4 100644
--- a/src/app/search-multiple/components/result/datasets-result.component.ts
+++ b/src/app/search-multiple/components/result/datasets-result.component.ts
@@ -33,7 +33,7 @@ export class DatasetsResultComponent {
         projectOrderedByName.map(p => {
             this.datasetList.filter(d => d.project_name === p.name)
                 .sort(sortByDisplay)
-                .map(d => {
+                .forEach(d => {
                     this.datasetsCount.map(c => {
                         if (c.dname === d.name && c.count > 0) {
                             datasets.push(d);
diff --git a/src/app/search-multiple/components/result/overview.component.ts b/src/app/search-multiple/components/result/overview.component.ts
index 8a67002003533863c077c0f6ad5c3ad416b790aa..cb220cb1a51f971cf91d5ee5e293e8fbb966bca9 100644
--- a/src/app/search-multiple/components/result/overview.component.ts
+++ b/src/app/search-multiple/components/result/overview.component.ts
@@ -28,7 +28,7 @@ export class OverviewComponent {
         let total: number = 0;
         this.datasetsCount
             .filter(c => c.count > 0)
-            .map(c => total += c.count)
+            .forEach(c => total += c.count)
         return total;
     }
 
@@ -38,7 +38,7 @@ export class OverviewComponent {
 
     getProjectSortedByName(): Project[] {
         let projectWithSelectedDataset: Project[] = [];
-        this.selectedDatasets.map(dname => {
+        this.selectedDatasets.forEach(dname => {
             const dataset: Dataset = this.datasetList.find(d => d.name === dname);
             const project: Project = this.projectList.find(p => p.name === dataset.project_name);
             if (!projectWithSelectedDataset.includes(project)) {
diff --git a/src/app/search-multiple/components/summary-multiple.component.html b/src/app/search-multiple/components/summary-multiple.component.html
index 9dc698a6f7c69819a0ddf4df205692245926e538..c73d7bc0f05622c6813c0198b500b75e86f3de87 100644
--- a/src/app/search-multiple/components/summary-multiple.component.html
+++ b/src/app/search-multiple/components/summary-multiple.component.html
@@ -33,7 +33,7 @@
         <div *ngIf="!noSelectedDatasets">
             <!-- Accordion projects -->
             <accordion [isAnimated]="true">
-                <accordion-group *ngFor="let project of getProjectSortedByName()" #ag panelClass="abstract-accordion" [isOpen]="accordionProjectIsOpen" class="pl-5">
+                <accordion-group *ngFor="let project of getProject()" #ag panelClass="abstract-accordion" [isOpen]="accordionProjectIsOpen" class="pl-5">
                     <button class="btn btn-link btn-block clearfix pb-1 text-primary" accordion-heading>
                         <div class="pull-left float-left">
                             {{ project.label }}
diff --git a/src/app/search-multiple/components/summary-multiple.component.spec.ts b/src/app/search-multiple/components/summary-multiple.component.spec.ts
index 99eb6b8d5aba829d20ab2afc5f418e92af7df019..da27af05674cc874803031a98ce953fa847777d5 100644
--- a/src/app/search-multiple/components/summary-multiple.component.spec.ts
+++ b/src/app/search-multiple/components/summary-multiple.component.spec.ts
@@ -4,7 +4,7 @@ import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
 import { AccordionModule } from 'ngx-bootstrap/accordion';
 
 import { SummaryMultipleComponent } from './summary-multiple.component';
-import { DATASET_LIST, PROJECT_LIST } from '../../../settings/test-data';
+import { DATASET, DATASET_LIST, PROJECT_LIST } from '../../../settings/test-data';
 
 describe('[SearchMultiple] Component: SummaryMultipleComponent', () => {
     let component: SummaryMultipleComponent;
@@ -23,10 +23,10 @@ describe('[SearchMultiple] Component: SummaryMultipleComponent', () => {
         expect(component).toBeTruthy();
     });
 
-    it('#getProjectSortedByName() should return list of projects', () => {
+    it('#getProject() should return list of projects that contains datasets with cone search enabled', () => {
         component.projectList = PROJECT_LIST;
-        expect(component.getProjectSortedByName()[0].name).toBe('project_1');
-        expect(component.getProjectSortedByName()[1].name).toBe('project_2');
+        component.datasetList = [DATASET];
+        expect(component.getProject()[0].name).toBe('project_1');
     });
 
     it('#getSelectedDatasetsByProject() should return list of selected datasets for the given project', () => {
diff --git a/src/app/search-multiple/components/summary-multiple.component.ts b/src/app/search-multiple/components/summary-multiple.component.ts
index 4814605ea71bb920767e97cc8ca117b2be7fc89c..30d829e77a4a967cf4b83269f7e51928873cb65b 100644
--- a/src/app/search-multiple/components/summary-multiple.component.ts
+++ b/src/app/search-multiple/components/summary-multiple.component.ts
@@ -24,8 +24,18 @@ export class SummaryMultipleComponent {
 
     accordionProjectIsOpen = true;
 
-    getProjectSortedByName(): Project[] {
-        return [...this.projectList].sort((a, b) => a.name.localeCompare(b.name));
+    // Return project that contains datasets with cone search enabled
+    // Returned projects are sorted by name
+    getProject(): Project[] {
+        const projectNames: string[] = [];
+        this.datasetList.forEach(d => {
+            if (!projectNames.includes(d.project_name)) {
+                projectNames.push(d.project_name);
+            }
+        });
+        return [...this.projectList]
+            .filter(p => projectNames.includes(p.name))
+            .sort((a, b) => a.name.localeCompare(b.name));
     }
 
     getSelectedDatasetsByProject(projectName: string): Dataset[] {
diff --git a/src/app/search-multiple/containers/datasets.component.ts b/src/app/search-multiple/containers/datasets.component.ts
index 721e8f8ab2c9bcfaf43f7cb010d578d8e8aa15b6..cd3dd58b60894e3002a2f4685f1b7c2e1480ed23 100644
--- a/src/app/search-multiple/containers/datasets.component.ts
+++ b/src/app/search-multiple/containers/datasets.component.ts
@@ -42,7 +42,7 @@ export class DatasetsComponent implements OnInit {
         this.datasetSearchMetaIsLoaded = store.select(metamodelSelector.getDatasetSearchMetaIsLoaded);
         this.currentStep = store.select(searchMultipleSelector.getCurrentStep);
         this.projectList = store.select(metamodelSelector.getProjectList);
-        this.datasetList = store.select(metamodelSelector.getDatasetList);
+        this.datasetList = store.select(metamodelSelector.getDatasetWithConeSearchList);
         this.isValidConeSearch = this.store.select(coneSearchSelector.getIsValidConeSearch);
         this.selectedDatasets = this.store.select(searchMultipleSelector.getSelectedDatasets);
         this.noSelectedDatasets = this.store.select(searchMultipleSelector.getNoSelectedDatasets);
diff --git a/src/app/search-multiple/containers/position.component.ts b/src/app/search-multiple/containers/position.component.ts
index a101b8fd498142910adaa8e314f1daab00176e5d..036630e18ea8349250aa03564278fa70393427ae 100644
--- a/src/app/search-multiple/containers/position.component.ts
+++ b/src/app/search-multiple/containers/position.component.ts
@@ -45,7 +45,7 @@ export class PositionComponent implements OnInit {
         this.isValidConeSearch = this.store.select(coneSearchSelector.getIsValidConeSearch);
         this.coneSearch = this.store.select(coneSearchSelector.getConeSearch);
         this.projectList = store.select(metamodelSelector.getProjectList);
-        this.datasetList = store.select(metamodelSelector.getDatasetList);
+        this.datasetList = store.select(metamodelSelector.getDatasetWithConeSearchList);
         this.selectedDatasets = store.select(searchMultipleSelector.getSelectedDatasets);
         this.noSelectedDatasets = store.select(searchMultipleSelector.getNoSelectedDatasets);
         this.queryParams = this.store.select(searchMultipleSelector.getQueryParams);
diff --git a/src/app/search-multiple/store/search-multiple.effects.ts b/src/app/search-multiple/store/search-multiple.effects.ts
index 495c98ccbf8348c50d75df0c14e010d262ca7552..f3d41e8a260c99efa38c74af43bf659a2f77fffe 100644
--- a/src/app/search-multiple/store/search-multiple.effects.ts
+++ b/src/app/search-multiple/store/search-multiple.effects.ts
@@ -69,8 +69,9 @@ export class SearchMultipleEffects {
         switchMap(([action, state]) => {
             if (state.searchMultiple.selectedDatasets.length === 0) {
                 const loadDatasetSearchMetaSuccessAction = action as datasetActions.LoadDatasetSearchMetaSuccessAction;
-                const datasetList: Dataset[] = loadDatasetSearchMetaSuccessAction.payload[1];
-                const selectedDatasets: string[] = datasetList.map(d => d.name);
+                const datasetWithConeSearchList: Dataset[] = loadDatasetSearchMetaSuccessAction.payload[1]
+                    .filter(d => d.config.cone_search && d.config.cone_search.enabled === true);
+                const selectedDatasets: string[] = datasetWithConeSearchList.map(d => d.name);
                 return of(new searchMultipleActions.InitSelectedDatasetsAction(selectedDatasets));
             } else {
                 return of({ type: '[No Action] ' + searchMultipleActions.INIT_SELECTED_DATASETS });
@@ -85,7 +86,7 @@ export class SearchMultipleEffects {
         switchMap(([action, state]) => {
             const datasetList: Dataset[] = state.metamodel.dataset.datasetList;
             let requests: Observable<any>[] = [];
-            state.searchMultiple.selectedDatasets.map(dname => {
+            state.searchMultiple.selectedDatasets.forEach(dname => {
                 const datasetConfig = datasetList.find(d => d.name === dname).config;
                 if (datasetConfig !== null && 'cone_search' in datasetConfig && datasetConfig.cone_search.enabled) {
                     let query: string = dname + '?a=count';
@@ -98,11 +99,11 @@ export class SearchMultipleEffects {
         withLatestFrom(this.store$),
         switchMap(([data, state]) => {
             let counts: { dname: string, count: number }[] = [];
-            data.map(d => {
+            data.forEach(d => {
                 counts.push(d);
             });
             const datasetList: Dataset[] = state.metamodel.dataset.datasetList;
-            state.searchMultiple.selectedDatasets.map(dname => {
+            state.searchMultiple.selectedDatasets.forEach(dname => {
                 const datasetConfig = datasetList.find(d => d.name === dname).config;
                 if (datasetConfig === null || !('cone_search' in datasetConfig) || !datasetConfig.cone_search.enabled) {
                     counts.push({ dname: dname, count: 0});
@@ -157,7 +158,7 @@ export class SearchMultipleEffects {
             return this.searchMultipleService.retrieveData(dname, query).pipe(
                 map((data: { datasetName: string, data: any[] }) => new searchMultipleActions.RetrieveDataSuccessAction(data)),
                 // TODO: Pass dname
-                catchError(() => of(new searchMultipleActions.RetrieveDataFailAction('toto')))
+                catchError(() => of(new searchMultipleActions.RetrieveDataFailAction('')))
             );
         })
     );
diff --git a/src/settings/test-data/dataset-list.ts b/src/settings/test-data/dataset-list.ts
index 253cdce81928d00bebb6ba9720b67ffa690ae252..73f8d562a10bcd50c45e02f777b9bd98b4f3f9de 100644
--- a/src/settings/test-data/dataset-list.ts
+++ b/src/settings/test-data/dataset-list.ts
@@ -35,7 +35,7 @@ export const DATASET_LIST: Dataset[] = [
         selectable_row: false,
         project_name: 'project_2',
         id_dataset_family: 2,
-        config: null
+        config: {}
     },
     {
         name: 'cat_2',
@@ -48,6 +48,6 @@ export const DATASET_LIST: Dataset[] = [
         selectable_row: false,
         project_name: 'project_1',
         id_dataset_family: 2,
-        config: null
+        config: {}
     }
 ];