diff --git a/main/audiohook.c b/main/audiohook.c
index 640ec2f5aa252743b9e73f062673585c635b8398..baf370dc7326c6d6e5ca7ca8f3c2a11ad035eb14 100644
--- a/main/audiohook.c
+++ b/main/audiohook.c
@@ -576,6 +576,7 @@ static struct ast_frame *audio_audiohook_write_list(struct ast_channel *chan, st
 		}
 		if (!(middle_frame = ast_translate(in_translate->trans_pvt, frame, 0)))
 			return frame;
+		samples = middle_frame->samples;
 	}
 
 	/* Queue up signed linear frame to each spy */