diff --git a/media/base/media_constants.cc b/media/base/media_constants.cc
index 0665602..03679d9 100644
--- a/media/base/media_constants.cc
+++ b/media/base/media_constants.cc
@@ -98,9 +98,6 @@
 const int kGoogleRtpDataCodecPlType = 109;
 const char kGoogleRtpDataCodecName[] = "google-data";
 
-const int kGoogleSctpDataCodecPlType = 108;
-const char kGoogleSctpDataCodecName[] = "google-sctp-data";
-
 const char kComfortNoiseCodecName[] = "CN";
 
 const char kVp8CodecName[] = "VP8";
diff --git a/media/base/media_constants.h b/media/base/media_constants.h
index a9c82e2..d2bfb36 100644
--- a/media/base/media_constants.h
+++ b/media/base/media_constants.h
@@ -124,12 +124,6 @@
 extern const int kGoogleRtpDataCodecPlType;
 extern const char kGoogleRtpDataCodecName[];
 
-// TODO(pthatcher): Find an id that won't conflict with anything.  On
-// the other hand, it really shouldn't matter since the id won't be
-// used on the wire.
-extern const int kGoogleSctpDataCodecPlType;
-extern const char kGoogleSctpDataCodecName[];
-
 extern const char kComfortNoiseCodecName[];
 
 RTC_EXPORT extern const char kVp8CodecName[];
diff --git a/media/engine/payload_type_mapper.cc b/media/engine/payload_type_mapper.cc
index fcacd44..e9f863c 100644
--- a/media/engine/payload_type_mapper.cc
+++ b/media/engine/payload_type_mapper.cc
@@ -67,7 +67,6 @@
            {{kIsacCodecName, 32000, 1}, 104},
            {{kCnCodecName, 16000, 1}, 105},
            {{kCnCodecName, 32000, 1}, 106},
-           {{kGoogleSctpDataCodecName, 0, 0}, kGoogleSctpDataCodecPlType},
            {{kOpusCodecName,
              48000,
              2,
diff --git a/media/engine/payload_type_mapper_unittest.cc b/media/engine/payload_type_mapper_unittest.cc
index c8b2234..fa6864b 100644
--- a/media/engine/payload_type_mapper_unittest.cc
+++ b/media/engine/payload_type_mapper_unittest.cc
@@ -52,7 +52,6 @@
     return mapper_.FindMappingFor({name, 0, 0});
   };
   EXPECT_EQ(kGoogleRtpDataCodecPlType, data_mapping(kGoogleRtpDataCodecName));
-  EXPECT_EQ(kGoogleSctpDataCodecPlType, data_mapping(kGoogleSctpDataCodecName));
 
   EXPECT_EQ(102, mapper_.FindMappingFor({kIlbcCodecName, 8000, 1}));
   EXPECT_EQ(103, mapper_.FindMappingFor({kIsacCodecName, 16000, 1}));
diff --git a/pc/media_session.cc b/pc/media_session.cc
index 51885b4..7db8126 100644
--- a/pc/media_session.cc
+++ b/pc/media_session.cc
@@ -270,9 +270,11 @@
 
 // Filters the data codecs for the data channel type.
 void FilterDataCodecs(std::vector<DataCodec>* codecs, bool sctp) {
-  // Filter RTP codec for SCTP and vice versa.
-  const char* codec_name =
-      sctp ? kGoogleRtpDataCodecName : kGoogleSctpDataCodecName;
+  // Filter RTP codec for SCTP. SCTP is not a codec.
+  if (!sctp) {
+    return;
+  }
+  const char* codec_name = kGoogleRtpDataCodecName;
   codecs->erase(std::remove_if(codecs->begin(), codecs->end(),
                                [&codec_name](const DataCodec& codec) {
                                  return absl::EqualsIgnoreCase(codec.name,
