diff --git a/src/cal_tools/calcat_interface.py b/src/cal_tools/calcat_interface.py
index 9049fae0004c0394b27274e75224516e07135963..0eba531d1a59b7b57c986a99873c317310a5abfd 100644
--- a/src/cal_tools/calcat_interface.py
+++ b/src/cal_tools/calcat_interface.py
@@ -106,7 +106,7 @@ class CalCatApi(metaclass=ClientWrapper):
         """Parse different ways to specify time to CalCat."""
 
         if isinstance(dt, datetime):
-            return dt.astimezone(timezone.utc).strftime("%Y%m%dT%H%M%S%Z")
+            return dt.astimezone(timezone.utc).isoformat()
         elif isinstance(dt, date):
             return cls.format_time(datetime.combine(dt, time()))
 
@@ -528,8 +528,6 @@ class CalibrationData:
             self.detector["id"], self.pdu_snapshot_at, self.module_naming
         )
 
-
-
     @property
     def condition(self):
         return self._build_condition(self.parameters)
@@ -589,7 +587,7 @@ class CalibrationData:
         self,
         module,
         calibration,
-        metadata,
+        metadata=None,
     ):
         """Load CCV data as ndarray.
 
@@ -602,6 +600,8 @@ class CalibrationData:
         Returns:
             (ndarray): CCV data
         """
+        import numpy as np
+
         if self.caldb_root is None:
             raise RuntimeError("calibration database store unavailable")
 
@@ -611,7 +611,10 @@ class CalibrationData:
         if metadata is None:
             metadata = self.metadata([calibration])
 
-        return self._load_ccv_data(metadata, module, calibration)
+        row = metadata[module][calibration]
+
+        with h5py.File(self.caldb_root / row['path'], 'r') as f:
+            return np.asarray(f[row['dataset'] + '/data'])
 
     def _allocate_constant_arrays(self, metadata, const_load_mp, const_data):