Embedded systems are becoming more and more network enabled, resulting in smarter, remotely deployed systems. One key benefit is the possibility of network upgrades, eliminating the need for service calls when software needs bug fixes or feature upgrades. Performing network upgrades is not without its challenges—reliable software is required to manage the network upgrade process. This paper will identify several of the pitfalls of performing remote network upgrades, and illustrate possible solutions through the use of an example application.