diff --git a/bob/ip/binseg/engine/evaluator.py b/bob/ip/binseg/engine/evaluator.py
index 5b4f2a39b23d6af3ac2fa034586e3fad217c9767..c3124ef9c68b4c6e203a5d2e53adbf31b2d0cffc 100644
--- a/bob/ip/binseg/engine/evaluator.py
+++ b/bob/ip/binseg/engine/evaluator.py
@@ -13,7 +13,7 @@ from tqdm import tqdm
 import torch
 import torchvision.transforms.functional as VF
 
-import bob.io.base
+import h5py
 
 from ..utils.metric import base_metrics
 from ..utils.plot import precision_recall_f1iso_confintval
@@ -231,7 +231,8 @@ def run(data_loader, predictions_folder, output_folder, overlayed_folder=None,
         image = sample[1].to("cpu")
         gt = sample[2].to("cpu")
         pred_fullpath = os.path.join(predictions_folder, stem + ".hdf5")
-        pred = bob.io.base.load(pred_fullpath).astype("float32")
+        with h5py.File(pred_fullpath, "r") as f:
+            pred = f["array"][:]
         pred = torch.from_numpy(pred)
         if stem in data:
             raise RuntimeError(f"{stem} entry already exists in data. "
diff --git a/bob/ip/binseg/engine/predictor.py b/bob/ip/binseg/engine/predictor.py
index ca22cb3e341424f63c39bc8b783e0d9b78f8ed36..33a91d0b7bc97daf583a42cdbe7ad7328bfafa88 100644
--- a/bob/ip/binseg/engine/predictor.py
+++ b/bob/ip/binseg/engine/predictor.py
@@ -12,7 +12,7 @@ from tqdm import tqdm
 import torch
 import torchvision.transforms.functional as VF
 
-import bob.io.base
+import h5py
 
 from ..utils.summary import summary
 
@@ -44,8 +44,10 @@ def _save_hdf5(stem, prob, output_folder):
     if not os.path.exists(fulldir):
         tqdm.write(f"Creating directory {fulldir}...")
         os.makedirs(fulldir, exist_ok=True)
-    bob.io.base.save(prob.cpu().squeeze(0).numpy(), fullpath)
-
+    with h5py.File(fullpath, 'w') as f:
+        data = prob.cpu().squeeze(0).numpy()
+        f.create_dataset("array", data=data, compression="gzip",
+                compression_opts=9)
 
 def _save_image(stem, extension, data, output_folder):
     """Saves a PIL image into a file