diff --git a/src/taggingbackends/data/dataset.py b/src/taggingbackends/data/dataset.py
index 80b02804c80359c9aa7bca99d2b3267beb2865ca..3159921b0dbb4b517b08a902ca4b2eadaf03a3c2 100644
--- a/src/taggingbackends/data/dataset.py
+++ b/src/taggingbackends/data/dataset.py
@@ -186,14 +186,14 @@ def subset_size(ntot, train_share, val_share, test_share):
     while ndelta < 0:
         if 0 < val_share:
             nval += 1
-            ndelta -= 1
+            ndelta += 1
         if ndelta < 0:
             if 0 < test_share:
                 ntest += 1
-                ndelta -= 1
+                ndelta += 1
             if ndelta < 0:
                 ntrain += 1
-                ndelta -= 1
+                ndelta += 1
     while 0 < ndelta:
         if 0 < train_share:
             ntrain -= 1