diff --git a/tzis/rechunker.py b/tzis/rechunker.py
index 1cea83d8172b70b33838da97b713833362c2fa69..9e3c7f979d8ec3e9f2c75f6ac3bf22533010adc0 100644
--- a/tzis/rechunker.py
+++ b/tzis/rechunker.py
@@ -28,9 +28,10 @@ def calc_chunk_length(ds, varname, chunkdim, target_mb, other_chunks):
     ------
     """
     n_bytes = ds[varname].nbytes
-    return math.ceil(
+    target_mb_matching_len=math.ceil(
         len(ds[chunkdim]) * other_chunks / math.ceil(n_bytes / (target_mb * (2**20)))
     )
+    return math.ceil(len(ds[chunkdim])/(math.ceil(len(ds[chunkdim]) / target_mb_matching_len)))
 
 
 def calc_other_dim_chunks(orig_chunks_dict, chunkdim):