diff --git a/gstlal/lib/gstlal/gstaudioadapter.c b/gstlal/lib/gstlal/gstaudioadapter.c
index c4019b06b24e7c0e4f7cde810ca9efad2bb44285..bcb36afb2d65c7c811047b96b054e328d7cd1d4e 100644
--- a/gstlal/lib/gstlal/gstaudioadapter.c
+++ b/gstlal/lib/gstlal/gstaudioadapter.c
@@ -92,8 +92,9 @@ static guint samples_remaining(GstBuffer *buf, guint skip)
 
 static guint64 offset(GstAudioAdapter *adapter)
 {
-	guint64 offset = GST_BUFFER_OFFSET(GST_BUFFER(g_queue_peek_head(adapter->queue)));
-	return GST_BUFFER_OFFSET_IS_VALID(offset) ? offset + adapter->skip : GST_BUFFER_OFFSET_NONE;
+	GstBuffer *buf = GST_BUFFER(g_queue_peek_head(adapter->queue));
+	guint64 offset = GST_BUFFER_OFFSET(buf);
+	return GST_BUFFER_OFFSET_IS_VALID(buf) ? offset + adapter->skip : GST_BUFFER_OFFSET_NONE;
 }