diff --git a/src/cal_tools/calcat_interface2.py b/src/cal_tools/calcat_interface2.py
index 6e37c59e3cd7ccbc2cf2d1a7412bdea51aab4a46..445dd158182c53db8a5dacd04c48c6cb4921144e 100644
--- a/src/cal_tools/calcat_interface2.py
+++ b/src/cal_tools/calcat_interface2.py
@@ -448,15 +448,15 @@ class CalibrationData(Mapping):
         res = client.get("calibration_constant_versions", params)
 
         d = {}
-        aggregators = set()
+        pdus = set()
 
         for ccv in res:
-            aggr = ccv["physical_detector_unit"]["karabo_da"]
-            aggregators.add(aggr)
+            pdus.add(ccv["physical_detector_unit"])
             cal_type = calibration_name(ccv["calibration_constant"]["calibration_id"])
+            aggr = ccv["physical_detector_unit"]["karabo_da"]
             d.setdefault(cal_type, {})[aggr] = SingleConstantVersion.from_response(ccv)
 
-        return cls(d, sorted(aggregators))
+        return cls(d, sorted(pdus, key=lambda d: d["karabo_da"]))
 
     def __getitem__(self, key) -> ModulesConstantVersions:
         return self.constant_groups[key]