diff --git a/src/store/modules/HardwareStatus/SystemStore.js b/src/store/modules/HardwareStatus/SystemStore.js
index 55f3754..75b645b 100644
--- a/src/store/modules/HardwareStatus/SystemStore.js
+++ b/src/store/modules/HardwareStatus/SystemStore.js
@@ -16,25 +16,26 @@
       system.description = data.Description;
       system.firmwareVersion = data.BiosVersion;
       system.hardwareType = data.Name;
-      system.health = data.Status.Health;
+      system.health = data.Status?.Health;
       system.id = data.Id;
       system.locationIndicatorActive = data.LocationIndicatorActive;
       system.locationNumber = data.LocationNumber;
       system.manufacturer = data.Manufacturer;
-      system.memorySummaryHealth = data.MemorySummary.Status.Health;
-      system.memorySummaryHealthRollup = data.MemorySummary.Status.HealthRollup;
-      system.memorySummaryState = data.MemorySummary.Status.State;
+      system.memorySummaryHealth = data.MemorySummary?.Status.Health;
+      system.memorySummaryHealthRollup =
+        data.MemorySummary?.Status?.HealthRollup;
+      system.memorySummaryState = data.MemorySummary?.Status?.State;
       system.model = data.Model;
-      system.processorSummaryCount = data.ProcessorSummary.Count;
-      system.processorSummaryHealth = data.ProcessorSummary.Status.Health;
+      system.processorSummaryCount = data.ProcessorSummary?.Count;
+      system.processorSummaryHealth = data.ProcessorSummary?.Status?.Health;
       system.processorSummaryHealthRoll =
-        data.ProcessorSummary.Status.HealthRollup;
-      system.processorSummaryState = data.ProcessorSummary.Status.State;
+        data.ProcessorSummary?.Status.HealthRollup;
+      system.processorSummaryState = data.ProcessorSummary?.Status?.State;
       system.powerState = data.PowerState;
       system.serialNumber = data.SerialNumber;
-      system.healthRollup = data.Status.HealthRollup;
+      system.healthRollup = data.Status?.HealthRollup;
       system.subModel = data.SubModel;
-      system.statusState = data.Status.State;
+      system.statusState = data.Status?.State;
       system.systemType = data.SystemType;
       state.systems = [system];
     },
@@ -42,26 +43,28 @@
   actions: {
     async getSystem({ commit }) {
       return await api
-        .get('/redfish/v1/Systems/system')
+        .get('/redfish/v1')
+        .then((response) =>
+          api.get(`${response.data.Systems['@odata.id']}/system`)
+        )
         .then(({ data }) => commit('setSystemInfo', data))
         .catch((error) => console.log(error));
     },
-    changeIdentifyLedState({ dispatch }, ledState) {
-      api
+    async changeIdentifyLedState({ commit }, ledState) {
+      return await api
         .patch('/redfish/v1/Systems/system', {
           LocationIndicatorActive: ledState,
         })
-        .then(() => dispatch('getSystem'))
         .catch((error) => {
-          dispatch('getSystem');
+          commit('setSystemInfo', this.state.system.systems[0]);
           console.log('error', error);
           if (ledState) {
             throw new Error(
-              i18n.t('pageHardwareStatus.toast.errorEnableIdentifyLed')
+              i18n.t('pageInventory.toast.errorEnableIdentifyLed')
             );
           } else {
             throw new Error(
-              i18n.t('pageHardwareStatus.toast.errorDisableIdentifyLed')
+              i18n.t('pageInventory.toast.errorDisableIdentifyLed')
             );
           }
         });
