diff --git a/pc/channel.cc b/pc/channel.cc
index 032c735..36900c4 100644
--- a/pc/channel.cc
+++ b/pc/channel.cc
@@ -126,7 +126,6 @@
       network_thread_(network_thread),
       signaling_thread_(signaling_thread),
       alive_(PendingTaskSafetyFlag::Create()),
-      content_name_(content_name),
       srtp_required_(srtp_required),
       crypto_options_(crypto_options),
       media_channel_(std::move(media_channel)),
@@ -150,7 +149,7 @@
 
 std::string BaseChannel::ToString() const {
   rtc::StringBuilder sb;
-  sb << "{mid: " << content_name_;
+  sb << "{mid: " << content_name();
   if (media_channel_) {
     sb << ", media_type: " << MediaTypeToString(media_channel_->media_type());
   }
@@ -595,23 +594,15 @@
     // there is no straightforward way to identify those streams.
     media_channel()->ResetUnsignaledRecvStream();
     demuxer_criteria_.payload_types().clear();
-    if (!RegisterRtpDemuxerSink_w()) {
-      RTC_LOG(LS_ERROR) << "Failed to disable payload type demuxing for "
-                        << ToString();
-      return false;
-    }
   } else if (!payload_types_.empty()) {
     // TODO(tommi): Instead of 'insert', should this simply overwrite the value
     // of the criteria?
     demuxer_criteria_.payload_types().insert(payload_types_.begin(),
                                              payload_types_.end());
-    if (!RegisterRtpDemuxerSink_w()) {
-      RTC_LOG(LS_ERROR) << "Failed to enable payload type demuxing for "
-                        << ToString();
-      return false;
-    }
   }
-  return true;
+
+  // Note: This synchronously hops to the network thread.
+  return RegisterRtpDemuxerSink_w();
 }
 
 bool BaseChannel::UpdateLocalStreams_w(const std::vector<StreamParams>& streams,
diff --git a/pc/channel.h b/pc/channel.h
index 7f7cfb9..452fe5a 100644
--- a/pc/channel.h
+++ b/pc/channel.h
@@ -122,7 +122,9 @@
 
   rtc::Thread* worker_thread() const { return worker_thread_; }
   rtc::Thread* network_thread() const { return network_thread_; }
-  const std::string& content_name() const override { return content_name_; }
+  const std::string& content_name() const override {
+    return demuxer_criteria_.mid();
+  }
   // TODO(deadbeef): This is redundant; remove this.
   absl::string_view transport_name() const override {
     RTC_DCHECK_RUN_ON(network_thread());
@@ -298,8 +300,6 @@
   rtc::Thread* const signaling_thread_;
   rtc::scoped_refptr<webrtc::PendingTaskSafetyFlag> alive_;
 
-  const std::string content_name_;
-
   std::function<void()> on_first_packet_received_
       RTC_GUARDED_BY(network_thread());
 
