Software update has been regarded as one of fundamental functions in wireless sensor networks. It can disseminate a delta-image between a current software image operating on a sensor node and its new image in order to reduce an update image(transmission data) size, resultantly saving energy. In addition, code-banking capability of micro-controllers can decrease the update image size. In order to maximize the efficiency of the software update, the proposed scheme exploits both the delta-image and the code-banking at the same time. Besides, it additionally delivers a recovery delta-image to properly handle abnormal conditions, such as message corruptions and unexpected power-off during the update.