diff --git a/src/frontend/app/administration/contact/contact-duplicate/contact-duplicate.component.html b/src/frontend/app/administration/contact/contact-duplicate/contact-duplicate.component.html
index 253183378e89271c1d3026050f62429ba82d23b1..2d4be3e1156842edddf5692e058541e6e40d698e 100644
--- a/src/frontend/app/administration/contact/contact-duplicate/contact-duplicate.component.html
+++ b/src/frontend/app/administration/contact/contact-duplicate/contact-duplicate.component.html
@@ -47,7 +47,7 @@
                             </mat-chip-list>
                             <div class="col-md-12 text-center">
                                 <button mat-raised-button color="primary" type="button" (click)="searchDuplicates()"
-                                    [disabled]="currentFieldsSearch.length === 0">Lancer la recherche</button>
+                                    [disabled]="currentFieldsSearch.length === 0 || isLoadingResults">Lancer la recherche</button>
                             </div>
                         </mat-expansion-panel>
                     </mat-accordion>
diff --git a/src/frontend/app/administration/contact/contact-duplicate/contact-duplicate.component.ts b/src/frontend/app/administration/contact/contact-duplicate/contact-duplicate.component.ts
index 2b8539023cf2fe0ce0d60f8dafa605726e8acb49..2e57f032424c7fd078f4fe79846e5d703c1d2ce9 100644
--- a/src/frontend/app/administration/contact/contact-duplicate/contact-duplicate.component.ts
+++ b/src/frontend/app/administration/contact/contact-duplicate/contact-duplicate.component.ts
@@ -12,7 +12,6 @@ import { SortPipe } from '../../../../plugins/sorting.pipe';
 import { FormControl } from '@angular/forms';
 import { MatPaginator } from '@angular/material/paginator';
 import { MatSort } from '@angular/material/sort';
-import { MatTableDataSource } from '@angular/material/table';
 import { ManageDuplicateComponent } from './manage-duplicate/manage-duplicate.component';
 
 @Component({
@@ -79,9 +78,6 @@ export class ContactDuplicateComponent implements OnInit {
     isLoadingResults: boolean = false;
     openedSearchTool: boolean = true;
 
-    @ViewChild(MatPaginator, { static: false }) paginator: MatPaginator;
-    @ViewChild(MatSort, { static: false }) sort: MatSort;
-
     constructor(
         public http: HttpClient,
         private notify: NotificationService,
@@ -123,7 +119,8 @@ export class ContactDuplicateComponent implements OnInit {
                     data.customFields = data.customFields.map((field: any) => {
                         return {
                             ...field,
-                            id: `customField_${field.id}`
+                            id: `contactCustomField_${field.id}`,
+                            identifier: `contactCustomField_${field.id}`
                         };
                     });
                     return data.customFields;
@@ -157,9 +154,6 @@ export class ContactDuplicateComponent implements OnInit {
     }
 
     removeCriteria(field: any) {
-        // this.currentFieldsSearch = this.contactFields.filter((contact: any) => contact.id !== id);
-
-        // const index = this.contactFields.map((field: any) => field.id).indexOf(id);
         this.contactFields.forEach((contact: any, index: number) => {
             if (contact.id === field.id) {
                 this.currentFieldsSearch = this.currentFieldsSearch.filter((currField: any) => currField.id !== field.id);
@@ -169,7 +163,7 @@ export class ContactDuplicateComponent implements OnInit {
     }
 
     searchDuplicates() {
-        this.dataSource = new MatTableDataSource();
+        this.duplicatesContacts = [];
         this.isLoadingResults = true;
         const queryParam = '?criteria[]=' + this.currentFieldsSearch.map((field: any) => field.identifier).join('&criteria[]=');
         this.http.get(`../rest/duplicatedContacts${queryParam}`).pipe(
@@ -199,12 +193,6 @@ export class ContactDuplicateComponent implements OnInit {
 
                 this.duplicatesContacts = contacts;
                 setTimeout(() => {
-                    /*this.dataSource = new MatTableDataSource(this.duplicatesContacts);
-                    this.dataSource.paginator = this.paginator;
-                    this.dataSource.sortingDataAccessor = this.functions.listSortingDataAccessor;
-                    this.sort.active = 'duplicateId';
-                    this.sort.direction = 'asc';
-                    this.dataSource.sort = this.sort;*/
                     this.displayedColumns = this.currentFieldsSearch.map((field: any) => field.identifier);
                     this.displayedColumns.push('address');
                     this.openedSearchTool = false;
@@ -231,10 +219,9 @@ export class ContactDuplicateComponent implements OnInit {
             filter((data: any) => data === 'success'),
             tap(() => {
                 this.notify.success('Contact fusionné');
+                this.duplicatesContactsCount--;
+                this.duplicatesContactsRealCount--;
                 this.duplicatesContacts = this.duplicatesContacts.filter((contact: any) => contact.duplicateId !== duplicateId);
-                this.dataSource = new MatTableDataSource(this.duplicatesContacts);
-                this.dataSource.paginator = this.paginator;
-                this.dataSource.sort = this.sort;
             }),
             catchError((err: any) => {
                 this.notify.handleSoftErrors(err);