diff --git a/src/frontend/app/administration/indexingModel/indexing-model-administration.component.ts b/src/frontend/app/administration/indexingModel/indexing-model-administration.component.ts
index 02e767f96c57e9623e87829a6b94b8758c0901ed..1cff993b5db8b6f40f477f7b57ecbe1e41ca3e85 100644
--- a/src/frontend/app/administration/indexingModel/indexing-model-administration.component.ts
+++ b/src/frontend/app/administration/indexingModel/indexing-model-administration.component.ts
@@ -3,7 +3,7 @@ import { HttpClient } from '@angular/common/http';
 import { LANG } from '../../translate.component';
 import { NotificationService } from '../../notification.service';
 import { HeaderService } from '../../../service/header.service';
-import {MatDialog, MatDialogRef} from '@angular/material/dialog';
+import {MatDialog} from '@angular/material/dialog';
 import { MatSidenav } from '@angular/material/sidenav';
 import { AppService } from '../../../service/app.service';
 import {tap, catchError, finalize, exhaustMap, filter} from 'rxjs/operators';
@@ -11,7 +11,6 @@ import { SortPipe } from '../../../plugins/sorting.pipe';
 import { IndexingFormComponent } from '../../indexation/indexing-form/indexing-form.component';
 import { ActivatedRoute, Router } from '@angular/router';
 import { of } from 'rxjs/internal/observable/of';
-import {ConfirmComponent} from '../../../plugins/modal/confirm.component';
 
 @Component({
     templateUrl: 'indexing-model-administration.component.html',
@@ -49,8 +48,6 @@ export class IndexingModelAdministrationComponent implements OnInit {
 
     categoriesList: any[];
 
-    dialogRef: MatDialogRef<any>;
-
     constructor(
         public http: HttpClient,
         private route: ActivatedRoute,
@@ -118,13 +115,13 @@ export class IndexingModelAdministrationComponent implements OnInit {
 
     onSubmit() {
         const fields = this.indexingForm.getDatas();
-        // fields.forEach((element, key) => {
-        //     delete fields[key].event;
-        //     delete fields[key].label;
-        //     delete fields[key].system;
-        //     delete fields[key].type;
-        //     delete fields[key].values;
-        // });
+        fields.forEach((element, key) => {
+            delete fields[key].event;
+            delete fields[key].label;
+            delete fields[key].system;
+            delete fields[key].type;
+            delete fields[key].values;
+        });
         this.indexingModel.fields = fields;
 
         if (this.creationMode) {
@@ -142,11 +139,7 @@ export class IndexingModelAdministrationComponent implements OnInit {
                 })
             ).subscribe();
         } else {
-            this.dialogRef = this.dialog.open(ConfirmComponent, { panelClass: 'maarch-modal', autoFocus: false, disableClose: true, data: { title: this.lang.indexingModelModification, msg: this.lang.updateIndexingFieldWarning } });
-
-            this.dialogRef.afterClosed().pipe(
-                filter((data: string) => data === 'ok'),
-                exhaustMap(() => this.http.put('../rest/indexingModels/' + this.indexingModel.id, this.indexingModel)),
+            this.http.put('../rest/indexingModels/' + this.indexingModel.id, this.indexingModel).pipe(
                 tap((data: any) => {
                     this.indexingForm.setModification();
                     this.setModification();
diff --git a/src/frontend/app/indexation/indexing-form/indexing-form.component.ts b/src/frontend/app/indexation/indexing-form/indexing-form.component.ts
index 0596986f44bd4a67663f27a2a6c5525eed4aea8e..8ffc822b8772bb1618dab5c04c03c3efd8bd8628 100755
--- a/src/frontend/app/indexation/indexing-form/indexing-form.component.ts
+++ b/src/frontend/app/indexation/indexing-form/indexing-form.component.ts
@@ -12,6 +12,7 @@ import { CdkDragDrop, moveItemInArray, transferArrayItem } from '@angular/cdk/dr
 import { FormControl, Validators, FormGroup, ValidationErrors, ValidatorFn, AbstractControl } from '@angular/forms';
 import { DiffusionsListComponent } from '../../diffusions/diffusions-list.component';
 import { FunctionsService } from '../../../service/functions.service';
+import {ConfirmComponent} from '../../../plugins/modal/confirm.component';
 
 @Component({
     selector: 'app-indexing-form',
@@ -179,6 +180,8 @@ export class IndexingFormComponent implements OnInit {
 
     currentResourceValues: any = null;
 
+    dialogRef: MatDialogRef<any>;
+
     constructor(
         public http: HttpClient,
         private notify: NotificationService,
@@ -276,14 +279,25 @@ export class IndexingFormComponent implements OnInit {
     }
 
     removeItem(arrTarget: string, item: any, index: number) {
-        item.mandatory = false;
-        if (item.identifier.indexOf('indexingCustomField') > -1) {
-            this.availableCustomFields.push(item);
-            this[arrTarget].splice(index, 1);
-        } else {
-            this.availableFields.push(item);
-            this[arrTarget].splice(index, 1);
-        }
+        this.dialogRef = this.dialog.open(ConfirmComponent, { panelClass: 'maarch-modal', autoFocus: false, disableClose: true, data: { title: this.lang.indexingModelModification, msg: this.lang.updateIndexingFieldWarning } });
+
+        this.dialogRef.afterClosed().pipe(
+            filter((data: string) => data === 'ok'),
+            tap(() => {
+                item.mandatory = false;
+                if (item.identifier.indexOf('indexingCustomField') > -1) {
+                    this.availableCustomFields.push(item);
+                    this[arrTarget].splice(index, 1);
+                } else {
+                    this.availableFields.push(item);
+                    this[arrTarget].splice(index, 1);
+                }
+            }),
+            catchError((err: any) => {
+                this.notify.handleErrors(err);
+                return of(false);
+            })
+        ).subscribe();
     }
 
     getDatas(withDiffusionList = true) {