diff --git a/km3io/tools.py b/km3io/tools.py
index 9d5e9aff69b9da874b6e501e6a97e1e573f0a6f9..cf903fe04a7c005dfe056d9553989d6c390faf70 100644
--- a/km3io/tools.py
+++ b/km3io/tools.py
@@ -323,6 +323,12 @@ def mask(arr, sequence=None, startend=None, minmax=None, atleast=None):
     return builder.snapshot()
 
 
+def mask_alt(arr, start, end):
+    nonempty = ak.num(arr, axis=-1) > 0
+    mask = (arr.mask[nonempty][..., 0] == start) & (arr.mask[nonempty][..., -1])
+    return ak.fill_none(mask, False)
+
+
 @nb.njit
 def _mask3d(arr, builder, sequence=None, startend=None, minmax=None, atleast=None):
     for subarray in arr: