diff --git a/api/video_codecs/video_codec.cc b/api/video_codecs/video_codec.cc
index f376d88..3566aef 100644
--- a/api/video_codecs/video_codec.cc
+++ b/api/video_codecs/video_codec.cc
@@ -42,10 +42,7 @@
 bool VideoCodecH264::operator==(const VideoCodecH264& other) const {
   return (frameDroppingOn == other.frameDroppingOn &&
           keyFrameInterval == other.keyFrameInterval &&
-          spsLen == other.spsLen && ppsLen == other.ppsLen &&
-          profile == other.profile &&
-          (spsLen == 0 || memcmp(spsData, other.spsData, spsLen) == 0) &&
-          (ppsLen == 0 || memcmp(ppsData, other.ppsData, ppsLen) == 0));
+          numberOfTemporalLayers == other.numberOfTemporalLayers);
 }
 
 bool SpatialLayer::operator==(const SpatialLayer& other) const {
diff --git a/api/video_codecs/video_codec.h b/api/video_codecs/video_codec.h
index 622cce1..d014e7c 100644
--- a/api/video_codecs/video_codec.h
+++ b/api/video_codecs/video_codec.h
@@ -80,12 +80,6 @@
   bool frameDroppingOn;
   int keyFrameInterval;
   uint8_t numberOfTemporalLayers;
-  // These are NULL/0 if not externally negotiated.
-  const uint8_t* spsData;
-  size_t spsLen;
-  const uint8_t* ppsData;
-  size_t ppsLen;
-  H264::Profile profile;
 };
 
 // Translates from name of codec to codec type and vice versa.
diff --git a/api/video_codecs/video_encoder.cc b/api/video_codecs/video_encoder.cc
index 66ba9e4..241c10a 100644
--- a/api/video_codecs/video_encoder.cc
+++ b/api/video_codecs/video_encoder.cc
@@ -54,11 +54,6 @@
   h264_settings.frameDroppingOn = true;
   h264_settings.keyFrameInterval = 3000;
   h264_settings.numberOfTemporalLayers = 1;
-  h264_settings.spsData = nullptr;
-  h264_settings.spsLen = 0;
-  h264_settings.ppsData = nullptr;
-  h264_settings.ppsLen = 0;
-  h264_settings.profile = H264::kProfileConstrainedBaseline;
 
   return h264_settings;
 }
diff --git a/modules/video_coding/codecs/test/videocodec_test_fixture_impl.cc b/modules/video_coding/codecs/test/videocodec_test_fixture_impl.cc
index db7f59a..318ed3e 100644
--- a/modules/video_coding/codecs/test/videocodec_test_fixture_impl.cc
+++ b/modules/video_coding/codecs/test/videocodec_test_fixture_impl.cc
@@ -124,7 +124,6 @@
     case kVideoCodecH264:
       ss << "frame_dropping: " << codec.H264().frameDroppingOn;
       ss << "\nkey_frame_interval: " << codec.H264().keyFrameInterval;
-      ss << "\nprofile: " << codec.H264().profile;
       break;
     default:
       break;
diff --git a/video/video_receive_stream.cc b/video/video_receive_stream.cc
index 31005c8..6e3a063 100644
--- a/video/video_receive_stream.cc
+++ b/video/video_receive_stream.cc
@@ -79,8 +79,6 @@
     *(codec.VP9()) = VideoEncoder::GetDefaultVp9Settings();
   } else if (codec.codecType == kVideoCodecH264) {
     *(codec.H264()) = VideoEncoder::GetDefaultH264Settings();
-    codec.H264()->profile =
-        H264::ParseSdpProfileLevelId(decoder.video_format.parameters)->profile;
   } else if (codec.codecType == kVideoCodecMultiplex) {
     VideoReceiveStream::Decoder associated_decoder = decoder;
     associated_decoder.video_format =
