diff --git a/src/app/packages/oka-packages/OKAPackageComponent.html b/src/app/packages/oka-packages/OKAPackageComponent.html
index 8858311..b2661a2 100644
--- a/src/app/packages/oka-packages/OKAPackageComponent.html
+++ b/src/app/packages/oka-packages/OKAPackageComponent.html
@@ -28,10 +28,9 @@
     <div class="col-auto me-auto">
         <nav class="custom-items-config">
             <span><i class="fas fa-clock text-success"></i>{{operationalStateFirstStep}}</span>
-            <span><i class="fas fa-spinner text-warning"></i>{{operationalStateSecondStep}}</span>
-            <span><i class="fas fa-spinner text-danger"></i>{{operationalStateThirdStep}}</span>
-            <span><i class="fas fa-times-circle text-danger"></i>{{operationalStateFourthStep}}</span>
-            <span><i class="fas fa-times-circle text-warning"></i>{{operationalStateFifthStep}}</span>
+            <span><i class="fas fa-times-circle text-danger"></i>{{operationalStateSecondStep}}</span>
+            <span><i class="fas fa-spinner text-warning"></i>{{operationalStateThirdStep}}</span>
+            <span><i class="fas fa-ban text-danger"></i>{{operationalStateFourthStep}}</span>
         </nav>
     </div>
     <page-per-row class="me-2" (pagePerRow)="onChange($event)"></page-per-row>
diff --git a/src/app/packages/oka-packages/OKAPackageComponent.ts b/src/app/packages/oka-packages/OKAPackageComponent.ts
index 702d8e6..bf6e122 100644
--- a/src/app/packages/oka-packages/OKAPackageComponent.ts
+++ b/src/app/packages/oka-packages/OKAPackageComponent.ts
@@ -70,9 +70,6 @@
     /** operational State failed deletion data @public */
     public operationalStateFourthStep: string = CONFIGCONSTANT.k8OperationalStateFourthStep;
 
-    /** operational State failed creation data @public */
-    public operationalStateFifthStep: string = CONFIGCONSTANT.k8OperationalStateFifthStep;
-
     /** Check the loading results @public */
     public isLoadingResults: boolean = true;
 
@@ -125,7 +122,7 @@
             name: { title: this.translateService.instant('NAME'), width: '15%', sortDirection: 'asc' },
             identifier: { title: this.translateService.instant('IDENTIFIER'), width: '20%' },
             state: {
-                title: this.translateService.instant('GITSTATE'), width: '15%', type: 'html',
+                title: this.translateService.instant('STATE'), width: '15%', type: 'html',
                 filter: {
                     type: 'list',
                     config: {
@@ -134,34 +131,27 @@
                             { value: this.operationalStateFirstStep, title: this.operationalStateFirstStep },
                             { value: this.operationalStateSecondStep, title: this.operationalStateSecondStep },
                             { value: this.operationalStateThirdStep, title: this.operationalStateThirdStep },
-                            { value: this.operationalStateThirdStep, title: this.operationalStateFourthStep },
-                            { value: this.operationalStateThirdStep, title: this.operationalStateFifthStep }
+                            { value: this.operationalStateThirdStep, title: this.operationalStateFourthStep }
                         ]
                     }
                 },
                 valuePrepareFunction: (cell: VNFD, row: VNFD): string => {
                     if (row.state === this.operationalStateFirstStep) {
                         return `<span class="icon-label" title="${row.state}">
-                                 <i class="fas fa-clock text-success"></i>
-                                 </span>`;
+                                   <i class="fas fa-clock text-success"></i>
+                                   </span>`;
                     } else if (row.state === this.operationalStateSecondStep) {
                         return `<span class="icon-label" title="${row.state}">
-                                 <i class="fas fa-spinner text-warning"></i>
-                                 </span>`;
-                    } else if (row.state === this.operationalStateThirdStep) {
-                        return `<span class="icon-label" title="${row.state}">
-                                 <i class="fas fa-spinner text-danger"></i>
-                                 </span>`;
+                                   <i class="fas fa-times-circle text-danger"></i>
+                                   </span>`;
                     } else if (row.state === this.operationalStateFourthStep) {
                         return `<span class="icon-label" title="${row.state}">
-                                 <i class="fas fa-times-circle text-danger"></i>
-                                 </span>`;
-                    } else if (row.state === this.operationalStateFifthStep) {
-                        return `<span class="icon-label" title="${row.state}">
-                                 <i class="fas fa-times-circle text-warning"></i>
-                                 </span>`;
+                                   <i class="fas fa-ban text-danger"></i>
+                                   </span>`;
                     } else {
-                        return `<span>${row.state}</span>`;
+                        return `<span class="icon-label" title="${row.state}">
+                                   <i class="fas fa-spinner text-warning"></i>
+                                   </span>`;
                     }
                 }
             },
@@ -218,7 +208,7 @@
             onboardingState: okadpackagedata._admin.onboardingState,
             usageState: okadpackagedata._admin.usageState,
             created: this.sharedService.convertEpochTime(Number(okadpackagedata._admin.created)),
-            state: okadpackagedata.state
+            state: okadpackagedata.resourceState
         };
     }
     /** Handle compose new oka package method  @public */
