diff --git a/components/rgbd-sources/src/frameset.cpp b/components/rgbd-sources/src/frameset.cpp
index 859c3d5d7b306b3666c9f86afc93bf0fdc437584..e2b1afa4d45f6d4e5dde6bac5765648c7affc591 100644
--- a/components/rgbd-sources/src/frameset.cpp
+++ b/components/rgbd-sources/src/frameset.cpp
@@ -85,6 +85,8 @@ void Builder::push(int64_t timestamp, int ix, ftl::rgbd::Frame &frame) {
 
 	UNIQUE_LOCK(mutex_, lk);
 
+	//LOG(INFO) << "BUILDER PUSH: " << timestamp << ", " << ix << ", " << size_;
+
 	// Size is determined by largest frame index received... note that size
 	// cannot therefore reduce.
 	if (ix >= size_) {
@@ -224,6 +226,7 @@ ftl::rgbd::FrameSet *Builder::_findFrameset(int64_t ts) {
 ftl::rgbd::FrameSet *Builder::_getFrameset() {
 	for (auto i=framesets_.begin(); i!=framesets_.end(); i++) {
 		auto *f = *i;
+		//LOG(INFO) << "GET: " << f->count << " of " << size_;
 		if (!f->stale && f->count >= size_) {
 			//LOG(INFO) << "GET FRAMESET and remove: " << f->timestamp;
 			auto j = framesets_.erase(i);
diff --git a/components/streams/src/receiver.cpp b/components/streams/src/receiver.cpp
index 8d07365d7ad5a8e9c5f614e2099c8afaced538c5..1151f1e342654e5c1c6835f6a9da1b9b11a684e8 100644
--- a/components/streams/src/receiver.cpp
+++ b/components/streams/src/receiver.cpp
@@ -232,7 +232,7 @@ void Receiver::_processVideo(const StreamPacket &spkt, const Packet &pkt) {
 			if ((frame.completed & sel) == sel) {
 				timestamp_ = frame.timestamp;
 
-				//LOG(INFO) << "BUILDER PUSH: " << timestamp_ << ", " << spkt.frameNumber();
+				//LOG(INFO) << "BUILDER PUSH: " << timestamp_ << ", " << spkt.frameNumber() << ", " << (int)pkt.frame_count;
 
 				if (frame.state.getLeft().width == 0) {
 					LOG(WARNING) << "Missing calibration, skipping frame";
diff --git a/components/streams/src/stream.cpp b/components/streams/src/stream.cpp
index 2259ba09204ec8dbe9e40b878aa63bec13f6a2a1..2ece7be127e15f9ff4a6ca294133e266542a38db 100644
--- a/components/streams/src/stream.cpp
+++ b/components/streams/src/stream.cpp
@@ -55,11 +55,15 @@ void Muxer::add(Stream *s) {
 
 	s->onPacket([this,s,i](const ftl::codecs::StreamPacket &spkt, const ftl::codecs::Packet &pkt) {
 		//SHARED_LOCK(mutex_, lk);
-		int id = _lookup(i, spkt.frame_number);
-		
+	
 		ftl::codecs::StreamPacket spkt2 = spkt;
 		spkt2.streamID = 0;
-		spkt2.frame_number = id;
+
+		if (spkt2.frame_number < 255) {
+			int id = _lookup(i, spkt.frame_number);
+			spkt2.frame_number = id;
+		}
+
 		_notify(spkt2, pkt);
 		s->select(spkt.streamID, selected(0));
 	});
@@ -79,6 +83,8 @@ bool Muxer::post(const ftl::codecs::StreamPacket &spkt, const ftl::codecs::Packe
 		auto [sid, ssid] = revmap_[spkt.frame_number];
 		auto &se = streams_[sid];
 
+		//LOG(INFO) << "POST " << spkt.frame_number;
+
 		ftl::codecs::StreamPacket spkt2 = spkt;
 		spkt2.streamID = 0;
 		spkt2.frame_number = ssid;
@@ -138,7 +144,7 @@ int Muxer::_lookup(int sid, int ssid) {
 void Muxer::_notify(const ftl::codecs::StreamPacket &spkt, const ftl::codecs::Packet &pkt) {
 	SHARED_LOCK(mutex_, lk);
 	available(spkt.frameSetID()) += spkt.channel;
-	if (cb_) cb_(spkt, pkt);
+	if (cb_) cb_(spkt, pkt);  // spkt.frame_number < 255 && 
 }
 
 // ==== Broadcaster ============================================================