At step 812, the hazard system (e.g., a first processor of the hazard system, such as system processor 210) may determine whether system status conditions are satisfied before commencing with the update of the first processor's executable code. The system status conditions can include the power level of a power source and whether any of the system's state machines are in an alarm or pre-alarm state. If any of the system status conditions are not satisfied, then the process may be delayed, at step 814, until those conditions are satisfied. Since updating the executable software for the first processor requires taking the first processor offline, it may not be desirable to update the software when any one of the system status conditions is not satisfied. This enables the first processor, such as the system processor 210, to execute higher order functions such as pre-alarm notifications, process touchless hush commands, perform wireless communications, and other features during an alarm or pre-alarm event. It should be appreciated, however, that when the first processor is taken offline to have its software updated, a second processor (e.g., the safety processor 230) is still functioning independently thereof and is able to monitor for hazardous or other conditions and provide an alert when appropriate.