We are not updating the BMC status in the switch()( *default case* ), which may lead to installing the IPMI protocol for the failure case too. Could you please initialize the BMC status in the default case also? switch ( SelfTestResult->Result ) { case IPMI_APP_SELFTEST_NO_ERROR: case IPMI_APP_SELFTEST_NOT_IMPLEMENTED: ....... ..... ... case IPMI_APP_SELFTEST_ERROR: ....... ..... ... case IPMI_APP_SELFTEST_FATAL_HW_ERROR: ....... ..... ... *default:* IpmiInstance->BmcStatus = BMC_HARDFAIL; // // Call routine to check device specific failures. // GetDeviceSpecificTestResults (IpmiInstance); } Thanks, Arun