diff --git a/src/bob/bio/base/score/load.py b/src/bob/bio/base/score/load.py
index 3ce39f3e970c444836badd3385811b9483c6e0de..60b9fe6fdd41892a849bb5c182619c8a882e7a2e 100644
--- a/src/bob/bio/base/score/load.py
+++ b/src/bob/bio/base/score/load.py
@@ -9,6 +9,7 @@ import logging
 import os
 import tarfile
 
+from collections import defaultdict
 from pathlib import Path
 
 import dask.dataframe
@@ -162,7 +163,9 @@ def get_split_dataframe(filename):
         :ref:`bob.bio.base.pipeline_simple_advanced_features`)
 
     """
-    df = dask.dataframe.read_csv(filename)
+    df = dask.dataframe.read_csv(
+        filename, dtype=defaultdict(lambda: str, {"score": float})
+    )
 
     genuines = df[df.probe_subject_id == df.bio_ref_subject_id]
     impostors = df[df.probe_subject_id != df.bio_ref_subject_id]
@@ -195,7 +198,9 @@ def split_csv_scores(filename, score_column: str = "score"):
         :ref:`bob.bio.base.pipeline_simple_advanced_features`)
 
     """
-    df = dask.dataframe.read_csv(filename)
+    df = dask.dataframe.read_csv(
+        filename, dtype=defaultdict(lambda: str, {"score": float})
+    )
 
     genuines = df[df.probe_subject_id == df.bio_ref_subject_id]
     impostors = df[df.probe_subject_id != df.bio_ref_subject_id]