diff --git a/gsrp_tdoa_hyperres.py b/gsrp_tdoa_hyperres.py
index f514a29e20763a1c8d11b72d63734007051d49a2..b3b29d68e8ee260b9d0104480ef53a53391b19ad 100755
--- a/gsrp_tdoa_hyperres.py
+++ b/gsrp_tdoa_hyperres.py
@@ -206,6 +206,10 @@ def main(args):
     # Position where the TDOAs are computed
     if os.path.isfile(args.stride):
         pos = (sr * np.loadtxt(args.stride, delimiter=',')).astype(int).ravel()
+        if any(pos < 0) or any(pos >= len(sound)):
+            print(f'{BColors.WARNING}Discarding {np.sum(pos <0) + np.sum(pos >= len(sound))} out of bounds out of the '
+                  f'{len(pos)} loaded positions{BColors.ENDC}')
+            pos = pos[(0 <= pos) & (pos < len(sound))]
     else:
         try:
             pos = np.arange(0, len(sound), int(sr * float(args.stride)))