A computer-implemented method of determining a leak in a water heating system , the water heating system comprising a control module configured to control operation of the water heating system , at least one water heating module configured to heat water to be circulated around a sealed heating circuit , a first valve (280-1) configured to control water flow returning from the heating circuit to the water heating system and a second valve (280-2) configured to control water flow from the water heating system to the heating circuit , the method being performed by the control module and comprising: receiving first sensor data from a first pressure sensor (270-1) disposed upstream of the first valve (280-1); receiving second sensor data from a second pressure sensor (270-2) disposed downstream of the first valve (280-1); upon determining that the first sensor data and/or the second sensor data indicates a water pressure below a reference water pressure, closing the first valve (280-1) and the second valve (280-2) to isolate the heating circuit and the first pressure sensor(270-1) from the water heating system and the second pressure sensor (270-2); monitoring the first sensor data indicating a water pressure in the heating circuit and the second sensor data indicating a water pressure in the water heating system ; and upon determining that the second sensor data indicates a fall in water pressure, determining a leak in the water heating system , characterized in that the water heating system comprises a third valve configured to control a flow of mains water into the heating circuit , and in that the method further comprises, upon determining that the water pressure indicated by the first sensor data and the water pressure indicated by the second sensor data remain substantially constant, releasing the first valve (280-1) and the third valve to allow mains water into the heating circuit to increase the water pressure to at least the reference water pressure. receiving first sensor data from a first pressure sensor (270-1) disposed upstream of the first valve (280-1); receiving second sensor data from a second pressure sensor (270-2) disposed downstream of the first valve (280-1); upon determining that the first sensor data and/or the second sensor data indicates a water pressure below a reference water pressure, closing the first valve (280-1) and the second valve (280-2) to isolate the heating circuit and the first pressure sensor(270-1) from the water heating system and the second pressure sensor (270-2); monitoring the first sensor data indicating a water pressure in the heating circuit and the second sensor data indicating a water pressure in the water heating system ; and upon determining that the second sensor data indicates a fall in water pressure, determining a leak in the water heating system , characterized in that the water heating system comprises a third valve configured to control a flow of mains water into the heating circuit , and in that the method further comprises, upon determining that the water pressure indicated by the first sensor data and the water pressure indicated by the second sensor data remain substantially constant, releasing the first valve (280-1) and the third valve to allow mains water into the heating circuit to increase the water pressure to at least the reference water pressure. <EOS>