A method, comprising: receiving, by a software update computer unit (101, 240), a unique identifier (162, 245) of an elevator control system, wherein the elevator control system comprises at least three computer boards (210, 220, 230), each computer board comprising a memory (214, 224, 234) and at least one processor (211, 221, 231); transmitting, by the software update computer unit, the received unique identifier to a server (182, 260) over a network (180, 255); retrieving information of a current hardware configuration of the elevator control system using the unique identifier from a memory (184, 270) associated with the server; determining, by the server, equipment identifiers (U1, U2, U3) from the current hardware configuration information for the at least three computer boards; finding, by the server from the memory associated with the server, at least three computer program version lists (281, 282, 283), respectively, for the at least three computer boards based on the determined equipment identifiers of the at least three computer boards; selecting, by the server, a list among the at least three computer program version lists; selecting, by the server, a computer program version from the selected list; determining, by the server, which of the computer program versions in the at least two remaining computer program version lists are compatible with the computer program version selected based on predetermined computer program version compatibility information stored in the memory associated with the server, thereby yielding information that identifies computer programs for the at least three computer boards, the identified computer programs being mutually compatible; transmitting the information identifying the computer programs for the at least three computer boards to the software update computer unit; retrieving at least one computer program of the identified computer programs for the at least three computer boards into the software update computer unit using the information identifying the computer programs for the at least three computer boards; and installing the at least one retrieved computer program in the respective computer board by the software update computer unit. receiving, by a software update computer unit (101, 240), a unique identifier (162, 245) of an elevator control system, wherein the elevator control system comprises at least three computer boards (210, 220, 230), each computer board comprising a memory (214, 224, 234) and at least one processor (211, 221, 231); transmitting, by the software update computer unit, the received unique identifier to a server (182, 260) over a network (180, 255); retrieving information of a current hardware configuration of the elevator control system using the unique identifier from a memory (184, 270) associated with the server; determining, by the server, equipment identifiers (U1, U2, U3) from the current hardware configuration information for the at least three computer boards; finding, by the server from the memory associated with the server, at least three computer program version lists (281, 282, 283), respectively, for the at least three computer boards based on the determined equipment identifiers of the at least three computer boards; selecting, by the server, a list among the at least three computer program version lists; selecting, by the server, a computer program version from the selected list; determining, by the server, which of the computer program versions in the at least two remaining computer program version lists are compatible with the computer program version selected based on predetermined computer program version compatibility information stored in the memory associated with the server, thereby yielding information that identifies computer programs for the at least three computer boards, the identified computer programs being mutually compatible; transmitting the information identifying the computer programs for the at least three computer boards to the software update computer unit; retrieving at least one computer program of the identified computer programs for the at least three computer boards into the software update computer unit using the information identifying the computer programs for the at least three computer boards; and installing the at least one retrieved computer program in the respective computer board by the software update computer unit.