diff --git a/src/cal_tools/calcat_interface2.py b/src/cal_tools/calcat_interface2.py
index 5207f5e7245d13781f9d5980c7f5dd6e0983f084..363d4dd6eb450c64e29394540adc8fec7f8e386c 100644
--- a/src/cal_tools/calcat_interface2.py
+++ b/src/cal_tools/calcat_interface2.py
@@ -550,6 +550,10 @@ class CalibrationData(Mapping):
             kda = pdu["karabo_da"] = pdu.pop("karabo_da_at_ccv_begin_at")
             det_id = pdu["detector_id"] = pdu.pop("detector_id_at_ccv_begin_at")
             pdu["virtual_device_name"] = pdu.pop("virtual_device_name_at_ccv_begin_at")
+            if pdu.get("module_number_at_ccv_begin_at") is not None:
+                pdu["module_number"] = pdu.pop("module_number_at_ccv_begin_at")
+            else:
+                pdu["module_number"] = int(re.findall(r"\d+", kda)[-1])
 
             det_ids.add(det_id)
             if kda in pdus: