diff --git a/gst/multifile/gstsplitmuxsink.c b/gst/multifile/gstsplitmuxsink.c
index a972c3e376b594c469d2ba61667829d7546e3451..1caa33f34adb96adc04f3ac8a10f6e2e0cefcb66 100644
--- a/gst/multifile/gstsplitmuxsink.c
+++ b/gst/multifile/gstsplitmuxsink.c
@@ -3525,7 +3525,8 @@ gst_splitmux_sink_reset (GstSplitMuxSink * splitmux)
   g_atomic_int_set (&(splitmux->do_split_next_gop), FALSE);
 
   splitmux->next_fku_time = GST_CLOCK_TIME_NONE;
-  gst_queue_array_clear (splitmux->times_to_split);
+  gst_queue_array_free (splitmux->times_to_split);
+  splitmux->times_to_split = gst_queue_array_new_for_struct (8, 8);
 
   g_list_foreach (splitmux->contexts, (GFunc) mq_stream_ctx_reset, NULL);
   splitmux->queued_keyframes = 0;