diff --git a/src/app/mapping/mapping.component.html b/src/app/mapping/mapping.component.html
index 06db8c7672e015667c7aac231b4bc261b49b5bdf..dce44397cdb17e81c739b41529cd56199aa4ebb0 100644
--- a/src/app/mapping/mapping.component.html
+++ b/src/app/mapping/mapping.component.html
@@ -41,7 +41,7 @@
                                             *ngIf="dataset.identifier === 'dct:hasVersion' || dataset.identifier === 'dct:title' "
                                             required #autoInput #{{dataset.identifier}}="ngModel" fullWidth
                                             id="{{dataset.identifier}}" name="{{dataset.identifier}}" nbInput
-                                            (input)="onChange()" placeholder="Enter value" [nbAutocomplete]="auto"
+                                            (ngModelChange)="onModelChange($event)" placeholder="Enter value" [nbAutocomplete]="auto"
                                             [(ngModel)]="selectedPaths[index]" autocomplete="false" (focus)="reset()" />
                                         <div
                                             *ngIf="dataset.identifier.invalid && (dataset.identifier.dirty || dataset.identifier.touched)">
@@ -50,7 +50,7 @@
                                             *ngIf=" dataset.identifier !== 'dct:hasVersion' && dataset.identifier !== 'dct:title'"
                                             #autoInput #{{dataset.identifier}}="ngModel" fullWidth
                                             id="{{dataset.identifier}}" name="{{dataset.identifier}}" nbInput
-                                            (input)="onChange()" placeholder="Enter value" [nbAutocomplete]="auto"
+                                            (ngModelChange)="onModelChange($event)" placeholder="Enter value" [nbAutocomplete]="auto"
                                             [(ngModel)]="selectedPaths[index]" autocomplete="false" (focus)="reset()" />
 
 
diff --git a/src/app/mapping/mapping.component.ts b/src/app/mapping/mapping.component.ts
index b46c185f29c431d6bdb2e8b0a3af4a6b2dfa6ab2..1621870b440fd7dc3625bd0e69a9e01e9666060b 100644
--- a/src/app/mapping/mapping.component.ts
+++ b/src/app/mapping/mapping.component.ts
@@ -12,7 +12,6 @@ import { environment } from 'src/environments/environment.prod';
 import { DatasetCrudService } from '../datasets/services/dataset-crud.service';
 
 import { Dataset, DatasetPath } from './class/dataset';
-import { Dataverse } from './class/dataverse';
 import { FeedbackDialogComponent } from './dialog/feedback-dialog/feedback-dialog.component';
 
 
@@ -27,7 +26,6 @@ export class MappingComponent implements OnInit {
   datasetModel: Dataset[];
   filteredOptions: Observable<string[]>;
   keys: string[] = [];
-  keysMap: Map<number, string[]> = new Map();
   selectedPaths: string[];
   mappedMetadatas: Map<string, string>[] = [];
   obsMappedMetadatas: Observable<Map<string, string>[]>;
@@ -68,9 +66,8 @@ export class MappingComponent implements OnInit {
     this.ids = this.dataSetService.ids;
     this.ids
     this.keys = [];
-    this.type == "Dataverse" ? this.getKeysFromMetadataDataverse(this.itemsdataset[0], '') : this.getKeysFromMetadataCustom(this.itemsdataset[0], "");
-    this.keysMap.set(this.itemsdataset.length, this.keys);
-    this.filteredOptions = of(this.keysMap.get(1));
+    this.type == "Dataverse" ?  this.getKeysFromMetadataDataverse(this.itemsdataset[0], '') : this.getKeysFromMetadataCustom(this.itemsdataset[0], '');
+    this.filteredOptions = of(this.keys);
   }
 
   createDataset(item: Object): Map<string, string> {
@@ -358,13 +355,11 @@ export class MappingComponent implements OnInit {
       map(filterString => this.filter(filterString)),
     );
   }
-  onChange() {
-    this.filteredOptions = this.getFilteredOptions(this.input.nativeElement.value);
-  }
-  onSelectionChange($event) {
-    this.filteredOptions = this.getFilteredOptions($event);
+  onModelChange(value: string) {
+    this.filteredOptions = of(this.filter(value));
   }
   reset() {
+    
     this.filteredOptions = of(this.keys);
   }
 }