diff --git a/bob/learn/linear/data/dslr.mat.hdf5 b/bob/learn/linear/data/dslr.mat.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..4acc6f11e898ab870b3188893839c0cff7c5d0f0
Binary files /dev/null and b/bob/learn/linear/data/dslr.mat.hdf5 differ
diff --git a/bob/learn/linear/data/dslr_labels.mat.hdf5 b/bob/learn/linear/data/dslr_labels.mat.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..31f6915b2571d9f3295a352d521f5b42679071bb
Binary files /dev/null and b/bob/learn/linear/data/dslr_labels.mat.hdf5 differ
diff --git a/bob/learn/linear/data/webcam.mat.hdf5 b/bob/learn/linear/data/webcam.mat.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..e673cee32e07ec5121b6adfbcf19c8382f53510e
Binary files /dev/null and b/bob/learn/linear/data/webcam.mat.hdf5 differ
diff --git a/bob/learn/linear/data/webcam_labels.mat.hdf5 b/bob/learn/linear/data/webcam_labels.mat.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..ff0d57bebb991b3de85ff8692bf880f8637eed26
Binary files /dev/null and b/bob/learn/linear/data/webcam_labels.mat.hdf5 differ
diff --git a/bob/learn/linear/test_gfk.py b/bob/learn/linear/test_gfk.py
index 72067c3aba23e6cb4f44a23889329befb279634a..43d5b242dd8cd4550cb49988769aa00c3e117706 100644
--- a/bob/learn/linear/test_gfk.py
+++ b/bob/learn/linear/test_gfk.py
@@ -9,7 +9,6 @@
 """
 
 import bob.learn.linear
-import bob.io.matlab
 from bob.io.base.test_utils import datafile
 from bob.learn.linear import GFKTrainer, GFKMachine
 import os
@@ -47,11 +46,11 @@ def test_matlab_baseline():
     import numpy
     numpy.random.seed(10)
 
-    source_webcam = bob.io.matlab.read_matrix(datafile("webcam.mat", __name__))
-    webcam_labels = bob.io.matlab.read_matrix(datafile("webcam_labels.mat", __name__))
+    source_webcam = bob.io.base.load(datafile("webcam.mat.hdf5", __name__))
+    webcam_labels = bob.io.base.load(datafile("webcam_labels.mat.hdf5", __name__))
 
-    target_dslr = bob.io.matlab.read_matrix(datafile("dslr.mat", __name__))
-    dslr_labels = bob.io.matlab.read_matrix(datafile("dslr_labels.mat", __name__))
+    target_dslr = bob.io.base.load(datafile("dslr.mat.hdf5", __name__))
+    dslr_labels = bob.io.base.load(datafile("dslr_labels.mat.hdf5", __name__))
 
     gfk_trainer = GFKTrainer(10, subspace_dim_source=140, subspace_dim_target=140)
     gfk_machine = gfk_trainer.train(source_webcam, target_dslr)
diff --git a/conda/meta.yaml b/conda/meta.yaml
index d5d578188b13a61aba3178f649293883a43a4f62..cb7fb99d5fbf01af130f3958db0ea33e66a0c84f 100644
--- a/conda/meta.yaml
+++ b/conda/meta.yaml
@@ -31,8 +31,6 @@ requirements:
     - bob.io.base
     - bob.math
     - bob.learn.activation
-    # bob.io.matlab may be removed from dependencies in future
-    - bob.io.matlab
     - scipy {{ scipy }}
     - libblitz {{ libblitz }}
     - boost {{ boost }}
diff --git a/requirements.txt b/requirements.txt
index d117388f96a960e066817cfca9a47c6fdb4df16e..b9131b1bec733c6d015b285b1e66a52e26053349 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5,4 +5,3 @@ bob.core
 bob.io.base
 bob.math
 bob.learn.activation
-bob.io.matlab