diff --git a/src/frontend/app/administration/group/indexing/indexing-administration.component.ts b/src/frontend/app/administration/group/indexing/indexing-administration.component.ts
index 291246386864a6f41ee4ba1cf41cf13977c85968..a3d53a7e35480abf630139b0ac687544647a397e 100644
--- a/src/frontend/app/administration/group/indexing/indexing-administration.component.ts
+++ b/src/frontend/app/administration/group/indexing/indexing-administration.component.ts
@@ -7,6 +7,7 @@ import { map, catchError, filter, exhaustMap, finalize } from 'rxjs/operators';
 import { of } from 'rxjs';
 import { MatDialogRef, MatDialog } from '@angular/material';
 import { ConfirmComponent } from '../../../../plugins/modal/confirm.component';
+import { HeaderService } from '../../../../service/header.service';
 
 declare function $j(selector: any): any;
 
@@ -38,6 +39,7 @@ export class IndexingAdministrationComponent implements OnInit {
 
     constructor(public http: HttpClient,
         private notify: NotificationService,
+        private headerService: HeaderService,
         private dialog: MatDialog,
     ) {
 
@@ -317,6 +319,7 @@ export class IndexingAdministrationComponent implements OnInit {
         this.http.put('../../rest/groups/' + this.groupId + '/indexing', { canIndex: canIndex }).pipe(
             tap(() => {
                 this.indexingInfo.canIndex = canIndex;
+                this.headerService.refreshShortcuts();
             }),
             tap(() => {
                 if (this.indexingInfo.canIndex) {
diff --git a/src/frontend/app/menu/menu-shortcut.component.html b/src/frontend/app/menu/menu-shortcut.component.html
index 11b453d7b1f22b23388fe4395c2e05dd9603525f..b38e53a74a2618bea04330360ad55e3b9b7112ab 100755
--- a/src/frontend/app/menu/menu-shortcut.component.html
+++ b/src/frontend/app/menu/menu-shortcut.component.html
@@ -31,13 +31,13 @@
     <h3 mat-subheader>{{lang.shortcut}}</h3>
     <div class="button-row" style="padding-left: 10px;padding-right: 10px;display: flex;width: 300px;margin-top: -10px;margin-bottom: 10px;">
         <ng-container *ngFor="let shortcut of headerService.shortcut">
-            <span style="flex:1;text-align: left;padding: 5px;" *ngIf="(shortcut.id == 'indexing' && speedDialFabButtons.length<=1) || (shortcut.id != 'indexing')">
+            <span style="flex:1;text-align: left;padding: 5px;" *ngIf="(shortcut.id == 'indexing' && shortcut.groups.length<=1) || (shortcut.id != 'indexing')">
                 <button style="z-index: 9999;" color="default" mat-fab (click)="gotToMenu(shortcut);" matTooltip="{{shortcut.name}}"
                     matTooltipPosition="above">
                     <mat-icon class="fa {{shortcut.style}}" style="height:auto;font-size:22px;"></mat-icon>
                 </button>
             </span>
-            <span style="flex:1;text-align: left;padding: 5px;position: relative;" *ngIf="shortcut.id=='indexing' && speedDialFabButtons.length>1">
+            <span style="flex:1;text-align: left;padding: 5px;position: relative;" *ngIf="shortcut.id=='indexing' && shortcut.groups.length>1">
                 <smd-fab-speed-dial #myFab direction="down" animationMode="fling" fixed="false" (mouseenter)="myFab.open = true"
                     (mouseleave)="myFab.open = false">
                     <smd-fab-trigger spin="true">
@@ -47,9 +47,9 @@
                     </smd-fab-trigger>
 
                     <smd-fab-actions>
-                        <button color="primary" mat-mini-fab (click)="onSpeedDialFabClicked(button,shortcut)" *ngFor="let button of speedDialFabButtons">
-                            <span class="speedDialLabel" color="primary" style="display:none;position: absolute;margin-left: 20px;margin-top: -5px;">{{button.label}}</span>
-                            <mat-icon class="{{button.icon}}"></mat-icon>
+                        <button color="primary" mat-mini-fab (click)="onSpeedDialFabClicked(group,shortcut)" *ngFor="let group of shortcut.groups">
+                            <span class="speedDialLabel" color="primary" style="display:none;position: absolute;margin-left: 20px;margin-top: -5px;">{{group.label}}</span>
+                            <mat-icon class="fa fa-plus"></mat-icon>
                         </button>
                     </smd-fab-actions>
                 </smd-fab-speed-dial>
diff --git a/src/frontend/app/menu/menu-shortcut.component.scss b/src/frontend/app/menu/menu-shortcut.component.scss
index 4afdbf7e348cdf24c776460ee123fc2614e06b39..e7033ed9a7206852c4763cfbe6098ceb3ef1bd79 100755
--- a/src/frontend/app/menu/menu-shortcut.component.scss
+++ b/src/frontend/app/menu/menu-shortcut.component.scss
@@ -3,6 +3,10 @@
     color: #135f7f;
 }
 
+.mat-fab ::ng-deep.mat-button-wrapper {
+    padding: 0px;
+}
+
 .speedDialLabel {
     margin-left: -220px !important;
     width: 200px;
@@ -16,3 +20,7 @@
     transition: opacity 1s ease-in !important;
     display: block !important;
 }
+
+.mat-icon {
+    height: auto !important;
+}
\ No newline at end of file
diff --git a/src/frontend/app/menu/menu-shortcut.component.ts b/src/frontend/app/menu/menu-shortcut.component.ts
index b57be28f20db5592e11d35114d2f91430dfc4a08..aa9ef5a6b6c10ef57f981bbf3130878a6a9f95de 100755
--- a/src/frontend/app/menu/menu-shortcut.component.ts
+++ b/src/frontend/app/menu/menu-shortcut.component.ts
@@ -34,24 +34,12 @@ export class MenuShortcutComponent implements OnInit {
         /**/
     }
 
-    ngOnInit(): void {      
-        setTimeout(() => {
-            const index = this.headerService.shortcut.map(index => index.id).indexOf('indexing');
-            if(index > -1) {
-                this.headerService.shortcut[index].groups.forEach((group: any) => {
-                    this.speedDialFabButtons.push({
-                        icon: 'fa fa-plus',
-                        tooltip: this.lang.indexingWithProfile+' '+ group.label,
-                        label: group.label,
-                        id: group.id
-                    });
-                });
-            }
-        }, 500);
+    ngOnInit(): void {
+        this.headerService.getShortcut();
     }
 
-    onSpeedDialFabClicked(btn: any, shortcut:any) {
-        location.href = shortcut.servicepage+'&groupId='+btn.id;
+    onSpeedDialFabClicked(group: any, shortcut:any) {
+        location.href = shortcut.servicepage+'&groupId='+group.id;
     }
 
     gotToMenu(shortcut:any) {
diff --git a/src/frontend/service/header.service.ts b/src/frontend/service/header.service.ts
index c03551758f93d6a54da2d3d3049ec0a9e7d8fe50..578386a43eab367d0c2319fb8f6c4afc54204ee3 100755
--- a/src/frontend/service/header.service.ts
+++ b/src/frontend/service/header.service.ts
@@ -1,7 +1,7 @@
 import { Injectable } from '@angular/core';
 import { HttpClient } from '@angular/common/http';
 import { LANG } from '../app/translate.component';
-import { tap, catchError } from 'rxjs/operators';
+import { tap, catchError, filter } from 'rxjs/operators';
 import { of } from 'rxjs';
 
 @Injectable()
@@ -10,7 +10,7 @@ export class HeaderService {
     subHeaderMessage: string = "";
     user: any = { firstname: "", lastname: "" };
     menu: any[] = [];
-    shortcut: any[] = [];
+    shortcut: any[] = null;
     shortcutIcon: any = {
         home: 'fa fa-home',
         administration: 'fa fa-cogs',
@@ -25,14 +25,30 @@ export class HeaderService {
         this.http.get('../../rest/header').pipe(
             tap((data: any) => this.setUser(data.user)),
             tap((data: any) => this.setMenu(data.menu)),
+            catchError((err: any) => {
+                console.log(err);
+                return of(false);
+            })
+        ).subscribe();
+    }
+
+    getShortcut() {
+        this.http.get('../../rest/shortcuts').pipe(
+            filter(() => this.shortcut === null),
             tap((data: any) => this.setShortcut(data.shortcuts)),
+            tap(() => console.log(this.shortcut)),
             catchError((err: any) => {
-                console.log(err.error.errors);
+                console.log(err);
                 return of(false);
             })
         ).subscribe();
     }
 
+    refreshShortcuts() {
+        this.shortcut = [];
+        this.getShortcut();
+    }
+
     setUser(user: any) {
         this.user = user;
     }
@@ -53,6 +69,7 @@ export class HeaderService {
     }
 
     setShortcut(shortcuts: any) {
+        this.shortcut = [];
         shortcuts.forEach((element: any) => {
             if (['indexing', 'search'].indexOf(element.id) > -1) {
                 // TO DO : DELETE AFTER FULL V2