diff --git a/components/streams/src/receiver.cpp b/components/streams/src/receiver.cpp
index 35b6675f7d2aa1959ca91c350c7cd496c02e7208..fa08ef87800749c995fa8539925f5d97a639b93e 100644
--- a/components/streams/src/receiver.cpp
+++ b/components/streams/src/receiver.cpp
@@ -236,7 +236,7 @@ void Receiver::_processAudio(const StreamPacket &spkt, const Packet &pkt) {
 
 	auto &build = builder(spkt.streamID);
 	auto fs = build.get(spkt.timestamp, spkt.frame_number+pkt.frame_count-1);
-	auto &frame = fs->frames[0];
+	auto &frame = fs->frames[spkt.frame_number];
 
 	auto &audiolist = frame.createChange<std::list<ftl::audio::Audio>>(spkt.channel, build.changeType(), pkt);
 	auto &audio = audiolist.emplace_back();