An apparatus and a method for recovering from a fault on a device, the method performed at the device comprising: initiating, with a bootloader, a recovery mechanism in response to detection of a fault with a first application, where the recovery mechanism comprises: obtaining, from storage on the device, location information identifying a first storage location for recovery software; obtaining, from the first storage location, the recovery software; obtaining, using the recovery software, a software update from a second storage location.