diff --git a/pc/peer_connection.cc b/pc/peer_connection.cc
index e4edfcc..6d26f9e 100644
--- a/pc/peer_connection.cc
+++ b/pc/peer_connection.cc
@@ -3009,8 +3009,21 @@
   } else if (num_audio_tracks > 0 || num_video_tracks > 0) {
     format = kSdpFormatReceivedSimple;
   }
-  RTC_HISTOGRAM_ENUMERATION("WebRTC.PeerConnection.SdpFormatReceived", format,
-                            kSdpFormatReceivedMax);
+  switch (remote_offer.GetType()) {
+    case SdpType::kOffer:
+      // Historically only offers were counted.
+      RTC_HISTOGRAM_ENUMERATION("WebRTC.PeerConnection.SdpFormatReceived",
+                                format, kSdpFormatReceivedMax);
+      break;
+    case SdpType::kAnswer:
+      RTC_HISTOGRAM_ENUMERATION("WebRTC.PeerConnection.SdpFormatReceivedAnswer",
+                                format, kSdpFormatReceivedMax);
+      break;
+    default:
+      RTC_LOG(LS_ERROR) << "Can not report SdpFormatReceived for "
+                        << SdpTypeToString(remote_offer.GetType());
+      break;
+  }
 }
 
 void PeerConnection::ReportIceCandidateCollected(
diff --git a/pc/peer_connection_rtp_unittest.cc b/pc/peer_connection_rtp_unittest.cc
index b1670c1..eeb44d8 100644
--- a/pc/peer_connection_rtp_unittest.cc
+++ b/pc/peer_connection_rtp_unittest.cc
@@ -1855,6 +1855,19 @@
       ElementsAre(Pair(kSdpFormatReceivedComplexPlanB, 1)));
 }
 
+TEST_F(SdpFormatReceivedTest, AnswerIsReported) {
+  auto caller = CreatePeerConnectionWithPlanB();
+  caller->AddAudioTrack("audio");
+  caller->AddVideoTrack("video");
+  auto callee = CreatePeerConnectionWithUnifiedPlan();
+
+  ASSERT_TRUE(callee->SetRemoteDescription(caller->CreateOfferAndSetAsLocal()));
+  ASSERT_TRUE(caller->SetRemoteDescription(callee->CreateAnswer()));
+  EXPECT_METRIC_THAT(
+      metrics::Samples("WebRTC.PeerConnection.SdpFormatReceivedAnswer"),
+      ElementsAre(Pair(kSdpFormatReceivedSimple, 1)));
+}
+
 // Sender setups in a call.
 
 TEST_P(PeerConnectionRtpTest, CreateTwoSendersWithSameTrack) {
diff --git a/pc/sdp_offer_answer.cc b/pc/sdp_offer_answer.cc
index 6d963ba..8b2d5a0 100644
--- a/pc/sdp_offer_answer.cc
+++ b/pc/sdp_offer_answer.cc
@@ -2009,8 +2009,9 @@
                  "Rollback not supported in Plan B"));
     return;
   }
-  if (desc->GetType() == SdpType::kOffer) {
-    // Report to UMA the format of the received offer.
+  if (desc->GetType() == SdpType::kOffer ||
+      desc->GetType() == SdpType::kAnswer) {
+    // Report to UMA the format of the received offer or answer.
     pc_->ReportSdpFormatReceived(*desc);
   }
 
