diff --git a/components/net/cpp/src/dispatcher.cpp b/components/net/cpp/src/dispatcher.cpp
index b1a5b265e8a00b3defabb929426c70366f5d191f..997ca1238560a410cf9c4e0eee383c06ab32a22e 100644
--- a/components/net/cpp/src/dispatcher.cpp
+++ b/components/net/cpp/src/dispatcher.cpp
@@ -101,7 +101,7 @@ void ftl::net::Dispatcher::dispatch_call(Peer &s, const msgpack::object &msg) {
 
 optional<Dispatcher::adaptor_type> ftl::net::Dispatcher::_locateHandler(const std::string &name) const {
 	auto it_func = funcs_.find(name);
-	if (it_func == end(funcs_)) {
+	if (it_func == funcs_.end()) {
 		if (parent_ != nullptr) {
 			return parent_->_locateHandler(name);
 		} else {
diff --git a/components/streams/src/stream.cpp b/components/streams/src/stream.cpp
index 782ec1fb3d04e7ea76bf83c216edd8f2920470dd..b97667d2b5e77e264d84a4e17e9f1414d52dd466 100644
--- a/components/streams/src/stream.cpp
+++ b/components/streams/src/stream.cpp
@@ -86,12 +86,17 @@ void Muxer::add(Stream *s, size_t fsid) {
 	auto &se = streams_.emplace_back();
 	int i = streams_.size()-1;
 	se.stream = s;
-	ftl::stream::Muxer::StreamEntry *ptr = &se;
 
-	handles_.push_back(std::move(s->onPacket([this,s,i,fsid,ptr](const ftl::codecs::StreamPacket &spkt, const ftl::codecs::Packet &pkt) {
+	handles_.push_back(std::move(s->onPacket([this,s,i,fsid](const ftl::codecs::StreamPacket &spkt, const ftl::codecs::Packet &pkt) {
 		//TODO: Allow input streams to have other streamIDs
 		// Same fsid means same streamIDs map together in the end
 
+		ftl::stream::Muxer::StreamEntry *ptr = nullptr;
+		{
+			SHARED_LOCK(mutex_,lk);
+			ptr = &streams_[i];
+		}
+
 		ftl::codecs::StreamPacket spkt2 = spkt;
 		ptr->original_fsid = spkt.streamID;
 		spkt2.streamID = fsid;
diff --git a/components/structures/src/new_frame.cpp b/components/structures/src/new_frame.cpp
index a290b25e5471e5d251b9545d0407f9b3b89df892..ba79f32bf88fa131dd6d91fa4bdc39faefc1f612 100644
--- a/components/structures/src/new_frame.cpp
+++ b/components/structures/src/new_frame.cpp
@@ -427,6 +427,13 @@ std::unordered_set<ftl::codecs::Channel> Frame::allChannels() const {
 			res.emplace(k);
 		}
 	}
+
+	uint64_t m = 1;
+	// TODO: NAIVE, use ffs or ctz.
+	for (int i=0; i<32; ++i) {
+		if (m & available_) res.emplace(static_cast<Channel>(i));
+		m <<= 1;
+	}
 	return res;
 }