diff --git a/audio/audio_send_stream.cc b/audio/audio_send_stream.cc
index 0d2a03d..7618dde 100644
--- a/audio/audio_send_stream.cc
+++ b/audio/audio_send_stream.cc
@@ -269,11 +269,10 @@
   }
 
   if (first_time || new_ids.abs_send_time != old_ids.abs_send_time) {
-    rtp_rtcp_module_->DeregisterSendRtpHeaderExtension(
-        kRtpExtensionAbsoluteSendTime);
+    absl::string_view uri = AbsoluteSendTime::Uri();
+    rtp_rtcp_module_->DeregisterSendRtpHeaderExtension(uri);
     if (new_ids.abs_send_time) {
-      rtp_rtcp_module_->RegisterRtpHeaderExtension(AbsoluteSendTime::Uri(),
-                                                   new_ids.abs_send_time);
+      rtp_rtcp_module_->RegisterRtpHeaderExtension(uri, new_ids.abs_send_time);
     }
   }
 
@@ -331,11 +330,11 @@
   }
 
   if (first_time || new_ids.abs_capture_time != old_ids.abs_capture_time) {
-    rtp_rtcp_module_->DeregisterSendRtpHeaderExtension(
-        kRtpExtensionAbsoluteCaptureTime);
+    absl::string_view uri = AbsoluteCaptureTimeExtension::Uri();
+    rtp_rtcp_module_->DeregisterSendRtpHeaderExtension(uri);
     if (new_ids.abs_capture_time) {
-      rtp_rtcp_module_->RegisterRtpHeaderExtension(
-          AbsoluteCaptureTimeExtension::Uri(), new_ids.abs_capture_time);
+      rtp_rtcp_module_->RegisterRtpHeaderExtension(uri,
+                                                   new_ids.abs_capture_time);
     }
   }
 
diff --git a/modules/rtp_rtcp/include/rtp_header_extension_map.h b/modules/rtp_rtcp/include/rtp_header_extension_map.h
index 3c2fa3d..ff1ea61 100644
--- a/modules/rtp_rtcp/include/rtp_header_extension_map.h
+++ b/modules/rtp_rtcp/include/rtp_header_extension_map.h
@@ -53,7 +53,6 @@
     return ids_[type];
   }
 
-  int32_t Deregister(RTPExtensionType type);
   void Deregister(absl::string_view uri);
 
   // Corresponds to the SDP attribute extmap-allow-mixed, see RFC8285.
diff --git a/modules/rtp_rtcp/mocks/mock_rtp_rtcp.h b/modules/rtp_rtcp/mocks/mock_rtp_rtcp.h
index 05e49fb..e1ea45e 100644
--- a/modules/rtp_rtcp/mocks/mock_rtp_rtcp.h
+++ b/modules/rtp_rtcp/mocks/mock_rtp_rtcp.h
@@ -50,10 +50,6 @@
               RegisterRtpHeaderExtension,
               (absl::string_view uri, int id),
               (override));
-  MOCK_METHOD(int32_t,
-              DeregisterSendRtpHeaderExtension,
-              (RTPExtensionType type),
-              (override));
   MOCK_METHOD(void,
               DeregisterSendRtpHeaderExtension,
               (absl::string_view uri),
diff --git a/modules/rtp_rtcp/source/rtp_header_extension_map.cc b/modules/rtp_rtcp/source/rtp_header_extension_map.cc
index 541e570..8fcef1d 100644
--- a/modules/rtp_rtcp/source/rtp_header_extension_map.cc
+++ b/modules/rtp_rtcp/source/rtp_header_extension_map.cc
@@ -118,13 +118,6 @@
   return kInvalidType;
 }
 
-int32_t RtpHeaderExtensionMap::Deregister(RTPExtensionType type) {
-  if (IsRegistered(type)) {
-    ids_[type] = kInvalidId;
-  }
-  return 0;
-}
-
 void RtpHeaderExtensionMap::Deregister(absl::string_view uri) {
   for (const ExtensionInfo& extension : kExtensions) {
     if (extension.uri == uri) {
diff --git a/modules/rtp_rtcp/source/rtp_header_extension_map_unittest.cc b/modules/rtp_rtcp/source/rtp_header_extension_map_unittest.cc
index 91bb252..19a17a5 100644
--- a/modules/rtp_rtcp/source/rtp_header_extension_map_unittest.cc
+++ b/modules/rtp_rtcp/source/rtp_header_extension_map_unittest.cc
@@ -77,8 +77,8 @@
   EXPECT_TRUE(map.Register<TransmissionOffset>(3));
   EXPECT_TRUE(map.Register<TransmissionOffset>(3));
 
-  map.Deregister(TransmissionOffset::kId);
-  map.Deregister(TransmissionOffset::kId);
+  map.Deregister(TransmissionOffset::Uri());
+  map.Deregister(TransmissionOffset::Uri());
 }
 
 TEST(RtpHeaderExtensionTest, NonUniqueId) {
diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl.cc b/modules/rtp_rtcp/source/rtp_rtcp_impl.cc
index 3dda8c6..3677858 100644
--- a/modules/rtp_rtcp/source/rtp_rtcp_impl.cc
+++ b/modules/rtp_rtcp/source/rtp_rtcp_impl.cc
@@ -630,10 +630,6 @@
   RTC_CHECK(registered);
 }
 
-int32_t ModuleRtpRtcpImpl::DeregisterSendRtpHeaderExtension(
-    const RTPExtensionType type) {
-  return rtp_sender_->packet_generator.DeregisterRtpHeaderExtension(type);
-}
 void ModuleRtpRtcpImpl::DeregisterSendRtpHeaderExtension(
     absl::string_view uri) {
   rtp_sender_->packet_generator.DeregisterRtpHeaderExtension(uri);
diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl.h b/modules/rtp_rtcp/source/rtp_rtcp_impl.h
index 655691c..499573c 100644
--- a/modules/rtp_rtcp/source/rtp_rtcp_impl.h
+++ b/modules/rtp_rtcp/source/rtp_rtcp_impl.h
@@ -76,7 +76,6 @@
 
   // Register RTP header extension.
   void RegisterRtpHeaderExtension(absl::string_view uri, int id) override;
-  int32_t DeregisterSendRtpHeaderExtension(RTPExtensionType type) override;
   void DeregisterSendRtpHeaderExtension(absl::string_view uri) override;
 
   bool SupportsPadding() const override;
diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl2.cc b/modules/rtp_rtcp/source/rtp_rtcp_impl2.cc
index 73ae138..6f39c5c 100644
--- a/modules/rtp_rtcp/source/rtp_rtcp_impl2.cc
+++ b/modules/rtp_rtcp/source/rtp_rtcp_impl2.cc
@@ -584,10 +584,6 @@
   RTC_CHECK(registered);
 }
 
-int32_t ModuleRtpRtcpImpl2::DeregisterSendRtpHeaderExtension(
-    const RTPExtensionType type) {
-  return rtp_sender_->packet_generator.DeregisterRtpHeaderExtension(type);
-}
 void ModuleRtpRtcpImpl2::DeregisterSendRtpHeaderExtension(
     absl::string_view uri) {
   rtp_sender_->packet_generator.DeregisterRtpHeaderExtension(uri);
diff --git a/modules/rtp_rtcp/source/rtp_rtcp_impl2.h b/modules/rtp_rtcp/source/rtp_rtcp_impl2.h
index 57a3fd1..535907f 100644
--- a/modules/rtp_rtcp/source/rtp_rtcp_impl2.h
+++ b/modules/rtp_rtcp/source/rtp_rtcp_impl2.h
@@ -83,7 +83,6 @@
   void SetExtmapAllowMixed(bool extmap_allow_mixed) override;
 
   void RegisterRtpHeaderExtension(absl::string_view uri, int id) override;
-  int32_t DeregisterSendRtpHeaderExtension(RTPExtensionType type) override;
   void DeregisterSendRtpHeaderExtension(absl::string_view uri) override;
 
   bool SupportsPadding() const override;
diff --git a/modules/rtp_rtcp/source/rtp_rtcp_interface.h b/modules/rtp_rtcp/source/rtp_rtcp_interface.h
index 13ebb0a..f3cb8d2 100644
--- a/modules/rtp_rtcp/source/rtp_rtcp_interface.h
+++ b/modules/rtp_rtcp/source/rtp_rtcp_interface.h
@@ -218,7 +218,6 @@
   // Register extension by uri, triggers CHECK on falure.
   virtual void RegisterRtpHeaderExtension(absl::string_view uri, int id) = 0;
 
-  virtual int32_t DeregisterSendRtpHeaderExtension(RTPExtensionType type) = 0;
   virtual void DeregisterSendRtpHeaderExtension(absl::string_view uri) = 0;
 
   // Returns true if RTP module is send media, and any of the extensions
diff --git a/modules/rtp_rtcp/source/rtp_sender.cc b/modules/rtp_rtcp/source/rtp_sender.cc
index 80f3204..029a5fb 100644
--- a/modules/rtp_rtcp/source/rtp_sender.cc
+++ b/modules/rtp_rtcp/source/rtp_sender.cc
@@ -238,14 +238,6 @@
   return rtp_header_extension_map_.IsRegistered(type);
 }
 
-int32_t RTPSender::DeregisterRtpHeaderExtension(RTPExtensionType type) {
-  MutexLock lock(&send_mutex_);
-  rtp_header_extension_map_.Deregister(type);
-  supports_bwe_extension_ = HasBweExtension(rtp_header_extension_map_);
-  UpdateHeaderSizes();
-  return 0;
-}
-
 void RTPSender::DeregisterRtpHeaderExtension(absl::string_view uri) {
   MutexLock lock(&send_mutex_);
   rtp_header_extension_map_.Deregister(uri);
diff --git a/modules/rtp_rtcp/source/rtp_sender.h b/modules/rtp_rtcp/source/rtp_sender.h
index 3374f2b..d892970 100644
--- a/modules/rtp_rtcp/source/rtp_sender.h
+++ b/modules/rtp_rtcp/source/rtp_sender.h
@@ -88,8 +88,6 @@
       RTC_LOCKS_EXCLUDED(send_mutex_);
   bool IsRtpHeaderExtensionRegistered(RTPExtensionType type) const
       RTC_LOCKS_EXCLUDED(send_mutex_);
-  int32_t DeregisterRtpHeaderExtension(RTPExtensionType type)
-      RTC_LOCKS_EXCLUDED(send_mutex_);
   void DeregisterRtpHeaderExtension(absl::string_view uri)
       RTC_LOCKS_EXCLUDED(send_mutex_);
 
