diff --git a/src/app/utilities/vertical-scaling/VerticalScalingComponent.html b/src/app/utilities/vertical-scaling/VerticalScalingComponent.html
index cef0ff2..5525871 100644
--- a/src/app/utilities/vertical-scaling/VerticalScalingComponent.html
+++ b/src/app/utilities/vertical-scaling/VerticalScalingComponent.html
@@ -44,8 +44,8 @@
                 <label for="vdu-id"> {{'VDUID' | translate}} *</label>
             </div>
             <div class="col-sm-6">
-                <ng-select formControlName="vduId" [clearable]="false"
-                    placeholder="{{'SELECT' | translate}} {{'VDUID' | translate}}" [items]="vdu" bindLabel="VDU"
+                <ng-select formControlName="vduId" [clearable]="false" (change)="getCountIndex($event.VDU)"
+                    placeholder="{{'SELECT' | translate}} {{'VDUID' | translate}}" [items]="vduId" bindLabel="VDU"
                     bindValue="VDU" [ngClass]="{ 'is-invalid': submitted && f.vduId.errors }">
                 </ng-select>
             </div>
@@ -56,7 +56,7 @@
             </div>
             <div class="col-sm-6">
                 <ng-select formControlName="countIndex" [clearable]="false"
-                    placeholder="{{'SELECT' | translate}} {{'COUNTINDEX' | translate}}" [items]="vdu"
+                    placeholder="{{'SELECT' | translate}} {{'COUNTINDEX' | translate}}" [items]="countIndex"
                     bindLabel="count-index" bindValue="count-index"
                     [ngClass]="{ 'is-invalid': submitted && f.countIndex.errors }">
                 </ng-select>
diff --git a/src/app/utilities/vertical-scaling/VerticalScalingComponent.ts b/src/app/utilities/vertical-scaling/VerticalScalingComponent.ts
index 69eb9eb..949506a 100644
--- a/src/app/utilities/vertical-scaling/VerticalScalingComponent.ts
+++ b/src/app/utilities/vertical-scaling/VerticalScalingComponent.ts
@@ -67,6 +67,10 @@
     public nsIdFilteredData: {}[] = [];
     /** Form valid on submit trigger @public */
     public submitted: boolean = false;
+     /** Contains vduId @public */
+    public vduId: {};
+    /** Items for countIndex @public */
+    public countIndex: {}[];
     /** Input contains component objects @private */
     @Input() private params: URLPARAMS;
     /** FormBuilder instance added to the formBuilder @private */
@@ -175,6 +179,12 @@
                             vnfInstanceData.push(vnfInstanceDataObj);
                         });
                         this.vdu = vnfInstanceData;
+                        const vduName: string = 'VDU';
+                        this.vduId = this.vdu.filter((vdu: {}, index: number, self: {}[]): {} =>
+                            index === self.findIndex((t: {}): {} => (
+                                t[vduName] === vdu[vduName]
+                            ))
+                        );
                     }
                 }, (error: ERRORDATA): void => {
                     this.restService.handleError(error, 'get');
@@ -183,6 +193,12 @@
         }
     }
 
+    /** Getting count-index by filtering id  */
+    public getCountIndex(id: string): void {
+        const VDU: string = 'VDU';
+        this.countIndex = this.vdu.filter((vnfdData: {}[]): boolean => vnfdData[VDU] === id);
+    }
+
     /** Vertical Scaling on submit */
     public triggerVerticalScaling(): void {
         this.submitted = true;
