diff --git a/TimeSeries/s2theia.py b/TimeSeries/s2theia.py
index cc5ade78ff8bde7422da5593906f12d2c603595a..8c3f1fd07637368bbd346ea323f7012ec1069c82 100644
--- a/TimeSeries/s2theia.py
+++ b/TimeSeries/s2theia.py
@@ -852,9 +852,11 @@ class S2TheiaPipeline:
                 out.extend(t.write_outputs(out_fld))
                 t.reset()
             if len(self.tiles) > 1 and mosaicking == 'vrt':
+                n_dates = len(self.tiles[0].output_dates)
+                out = [out[i:i+n_dates] for i in range(0,len(out),n_dates)]
                 out_mos = []
                 vrtopt = gdal.BuildVRTOptions()
-                for i in range(len(self.tiles[0].output_dates)):
+                for i in range(n_dates):
                     fn = out_fld + os.sep + 'SENTINEL2_MOSAIC_GAPFILL_' + self.tiles[0].output_dates[i] + '_' + stack_name + '.vrt'
                     to_mosaic = [x[i] for x in out]
                     gdal.BuildVRT(fn, to_mosaic, options=vrtopt)