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 5e76bf221cb38851c10b5103764d39485a77386a..a3a5246199e8917129c6c74490751b9167329f8d 100644
--- a/src/app/mapping/mapping.component.ts
+++ b/src/app/mapping/mapping.component.ts
@@ -26,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>[]>;
@@ -66,8 +65,7 @@ export class MappingComponent implements OnInit {
     this.ids
     this.keys = [];
     this.getKeysFromMetadata(this.itemsdataset[0], '');
-    this.keysMap.set(this.itemsdataset.length, this.keys);
-    this.filteredOptions = of(this.keysMap.get(1));
+    this.filteredOptions = of(this.keys);
   }
 
   createDataset(item: Object): Map<string, string> {
@@ -313,13 +311,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);
   }
 }