diff --git a/setup.py b/setup.py
index 46d8d86a3c776178f20e9e2e6bd5382ed48b417d..2b9a511031515aa1a51cca84c549ec6ffed28973 100644
--- a/setup.py
+++ b/setup.py
@@ -85,7 +85,7 @@ setup(
         "extra_data==1.4.1",
         "extra_geom==1.1.1",
         "gitpython==3.1.0",
-        "h5py==2.10.0",
+        "h5py==3.3.0",
         "iminuit==1.3.8",
         "ipykernel==5.1.4",
         "ipyparallel==6.2.4",
diff --git a/src/cal_tools/ana_tools.py b/src/cal_tools/ana_tools.py
index b9074e1187e2316b881088a460c6e752e9f34079..edc60e75d5b0b0c509176a241eb27d87db98569d 100644
--- a/src/cal_tools/ana_tools.py
+++ b/src/cal_tools/ana_tools.py
@@ -52,7 +52,7 @@ def load_data_from_hdf5(filelist):
                             ctime = data[cKey][mKey].get("ctime", [])
                             for timeKey in f.get("/".join((cKey, mKey, tKey))):
                                 path = "/".join((cKey, mKey, tKey, timeKey))
-                                value = f.get(path).value
+                                value = f.get(path)[()]
                                 value = dateutil.parser.parse(value)
                                 ctime.append(value)
                             data[cKey][mKey]["ctime"] = ctime
@@ -60,8 +60,8 @@ def load_data_from_hdf5(filelist):
 
                         # Load ndarray if they are there
                         item = f.get("/".join((cKey, mKey, tKey)))
-                        if isinstance(item, h5py._hl.dataset.Dataset):
-                            data[cKey][mKey][tKey] = item.value
+                        if isinstance(item, h5py.Dataset):
+                            data[cKey][mKey][tKey] = item[()]
                             continue
 
                         # Loop over stored data
@@ -75,7 +75,7 @@ def load_data_from_hdf5(filelist):
                                     mdata_d[mdKey] = f.get(
                                         "/".join(
                                             (cKey, mKey, tKey, 'mdata',
-                                             mdKey))).value
+                                             mdKey)))[()]
                                 mdata_l = data[cKey][mKey].get("mdata", [])
                                 mdata_l.append(mdata_d)
                                 data[cKey][mKey]["mdata"] = mdata_l
@@ -85,7 +85,7 @@ def load_data_from_hdf5(filelist):
                                 data[cKey][mKey][dKey] = []
 
                             value = f.get(
-                                "/".join((cKey, mKey, tKey, dKey))).value
+                                "/".join((cKey, mKey, tKey, dKey)))[()]
 
                             if dKey == "ctime":
                                 value = dateutil.parser.parse(value)