diff --git a/gst/rtp/gstrtph264depay.c b/gst/rtp/gstrtph264depay.c
index 0d86ddf..d8a3591 100644
--- a/gst/rtp/gstrtph264depay.c
+++ b/gst/rtp/gstrtph264depay.c
@@ -474,10 +474,12 @@ gst_rtp_h264_depay_process (GstBaseRTPDepayload * depayload, GstBuffer * buf)
     guint8 *outdata;
     guint outsize, nalu_size;
     GstClockTime ts;
+    guint32 rtptime;
 
     /* baseclass already did this, would be nice not to have to redo ... */
     ts = GST_BUFFER_TIMESTAMP (buf);
     ts = gst_segment_to_running_time (&depayload->segment, GST_FORMAT_TIME, ts);
+    rtptime = gst_rtp_buffer_get_timestamp (buf);
 
     payload_len = gst_rtp_buffer_get_payload_len (buf);
     payload = gst_rtp_buffer_get_payload (buf);
@@ -563,7 +565,7 @@ gst_rtp_h264_depay_process (GstBaseRTPDepayload * depayload, GstBuffer * buf)
             outbuf = gst_rtp_h264_depay_push_nal (rtph264depay, outbuf, ts);
             if (outbuf) {
               gst_buffer_set_caps (outbuf, GST_PAD_CAPS (depayload->srcpad));
-              gst_base_rtp_depayload_push_ts (depayload, ts, outbuf);
+              gst_base_rtp_depayload_push_ts (depayload, rtptime, outbuf);
             }
           }
 
