A program update system comprising: a vehicle including a first electronic device and a second electronic device; and a program transmission device configured to communicate with the vehicle and transmit a program for the first electronic device to the vehicle, wherein the second electronic device is configured to store data received from the program transmission device, the first electronic device does not have a sufficient storage area to simultaneously store a current program that is a current version of a program to be executed by the first electronic device and an update program that is an updated version of the current program, the second electronic device is configured to communicate with the program transmission device and the first electronic device, and has a sufficient storage area to simultaneously store the current program and the update program, the second electronic device is configured to send an update program request and a current program request to the program transmission device when the vehicle is in an ignition on state, the program transmission device is configured to transmit, upon receiving the update program request and the current program request from the vehicle, data representing the update program and data representing the current program to the vehicle, the second electronic device is configured to store, upon receiving the data representing the update program and the data representing the current program when the vehicle is in the ignition on state, the data representing the update program and the data representing the current program, the second electronic device is configured to execute an update process of changing a program stored in the first electronic device from the current program to the update program based on the data representing the update program stored in the second electronic device when the vehicle is in an ignition off state, the second electronic device is configured to execute, after the update process, a restoration process for restoring the program stored in the first electronic device to the current program based on a result of a predetermined determination process performed based on an operation of the first electronic device while the vehicle is in the ignition on state or a user's instruction while the vehicle is in the ignition on state, using the data representing the current program stored in the second electronic device when the vehicle is in the ignition off state, and the second electronic device is configured to delete the current program stored in the second electronic device after the vehicle is in the ignition on state and then the ignition off state at least once, after execution of the update process. a vehicle including a first electronic device and a second electronic device; and a program transmission device configured to communicate with the vehicle and transmit a program for the first electronic device to the vehicle, wherein the second electronic device is configured to store data received from the program transmission device, the first electronic device does not have a sufficient storage area to simultaneously store a current program that is a current version of a program to be executed by the first electronic device and an update program that is an updated version of the current program, the second electronic device is configured to communicate with the program transmission device and the first electronic device, and has a sufficient storage area to simultaneously store the current program and the update program, the second electronic device is configured to send an update program request and a current program request to the program transmission device when the vehicle is in an ignition on state, the program transmission device is configured to transmit, upon receiving the update program request and the current program request from the vehicle, data representing the update program and data representing the current program to the vehicle, the second electronic device is configured to store, upon receiving the data representing the update program and the data representing the current program when the vehicle is in the ignition on state, the data representing the update program and the data representing the current program, the second electronic device is configured to execute an update process of changing a program stored in the first electronic device from the current program to the update program based on the data representing the update program stored in the second electronic device when the vehicle is in an ignition off state, the second electronic device is configured to execute, after the update process, a restoration process for restoring the program stored in the first electronic device to the current program based on a result of a predetermined determination process performed based on an operation of the first electronic device while the vehicle is in the ignition on state or a user's instruction while the vehicle is in the ignition on state, using the data representing the current program stored in the second electronic device when the vehicle is in the ignition off state, and the second electronic device is configured to delete the current program stored in the second electronic device after the vehicle is in the ignition on state and then the ignition off state at least once, after execution of the update process.