diff --git a/cal_tools/cal_tools/dssclib.py b/cal_tools/cal_tools/dssclib.py
index 7e17f2011471f185e39f38fedcfcfab0cb25523d..2b311d0d9314eaaf0a3cad0809dd61d5fec05a29 100644
--- a/cal_tools/cal_tools/dssclib.py
+++ b/cal_tools/cal_tools/dssclib.py
@@ -72,8 +72,16 @@ def get_dssc_ctrl_data(in_folder, slow_data_pattern,
         print("No Control Slow Data found!")
         return targetGainAll, encodedGainAll, operatingFreqAll
 
-    ctrlloc = h5py.File(next(iter(ctrlDataFiles.values())), 'r')[
-        '/METADATA/dataSources/deviceId'][0]
+    ctrlloc = None
+    ctlrh5file = h5py.File(next(iter(ctrlDataFiles.values())), 'r')
+    if '/METADATA/dataSources/deviceId' in ctlrh5file:
+        ctrlloc = ctlrh5file['/METADATA/dataSources/deviceId'][0]
+    elif '/METADATA/deviceId' in ctlrh5file:
+        ctrlloc = ctlrh5file['/METADATA/deviceId'][0]
+    else:
+        print("Control Slow Data not correct!")
+        return targetGainAll, encodedGainAll, operatingFreqAll
+
     ctrlloc = ctrlloc.decode("utf-8")
     ctrlloc = ctrlloc[:ctrlloc.find('/')]