diff --git a/sys/v4l2/gstv4l2bufferpool.c b/sys/v4l2/gstv4l2bufferpool.c
index 644a845..77022a5 100644
--- a/sys/v4l2/gstv4l2bufferpool.c
+++ b/sys/v4l2/gstv4l2bufferpool.c
@@ -339,20 +339,23 @@ gst_v4l2_buffer_pool_import_dmabuf (GstV4l2BufferPool * pool,
   for (i = 0; i < n_mem; i++)
     dma_mem[i] = gst_buffer_peek_memory (src, i);
 
   if (!gst_v4l2_allocator_import_dmabuf (pool->vallocator, group, n_mem,
           dma_mem))
     goto import_failed;
 
   gst_mini_object_set_qdata (GST_MINI_OBJECT (dest), GST_V4L2_IMPORT_QUARK,
       gst_buffer_ref (src), (GDestroyNotify) gst_buffer_unref);
 
+  gst_buffer_copy_into (dest, src,
+      GST_BUFFER_COPY_FLAGS | GST_BUFFER_COPY_TIMESTAMPS, 0, -1);
+
   return GST_FLOW_OK;
 
 not_our_buffer:
   {
     GST_ERROR_OBJECT (pool, "destination buffer invalid or not from our pool");
     return GST_FLOW_ERROR;
   }
 too_many_mems:
   {
     GST_ERROR_OBJECT (pool, "could not map buffer");
