diff --git a/pc/peer_connection_integrationtest.cc b/pc/peer_connection_integrationtest.cc
index 7b2d171..df8d6c1 100644
--- a/pc/peer_connection_integrationtest.cc
+++ b/pc/peer_connection_integrationtest.cc
@@ -617,6 +617,8 @@
     ASSERT_EQ(audio_track_stats_id_, *rtp_stats->track_id);
     audio_packets_stat_ = *rtp_stats->packets_received;
     audio_delay_stat_ = *track_stats->relative_packet_arrival_delay;
+    audio_samples_stat_ = *track_stats->total_samples_received;
+    audio_concealed_stat_ = *track_stats->concealed_samples;
   }
 
   void UpdateDelayStats(std::string tag, int desc_size) {
@@ -634,10 +636,33 @@
     // An average relative packet arrival delay over the renegotiation of
     // > 100 ms indicates that something is dramatically wrong, and will impact
     // quality for sure.
-    ASSERT_GT(0.1, recent_delay) << tag << " size " << desc_size;
+    EXPECT_GT(0.1, recent_delay) << tag << " size " << desc_size;
+    auto delta_samples =
+        *track_stats->total_samples_received - audio_samples_stat_;
+    auto delta_concealed =
+        *track_stats->concealed_samples - audio_concealed_stat_;
+    // These limits should be adjusted down as we improve:
+    //
+    // Concealing more than 4000 samples during a renegotiation is unacceptable.
+    // Concealing more than 20% of samples during a renegotiation is
+    // unacceptable.
+
+    // Current lowest scores:
+    // linux_more_configs bot at conceal rate 0.516
+    // linux_more_configs bot at conceal count 5184
+    // android_arm_rel at conceal count 9241
+    EXPECT_GT(15000U, delta_concealed) << "Concealed " << delta_concealed
+                                       << " of " << delta_samples << " samples";
+    if (delta_samples > 0) {
+      EXPECT_GT(0.6, 1.0 * delta_concealed / delta_samples)
+          << "Concealed " << delta_concealed << " of " << delta_samples
+          << " samples";
+    }
     // Increment trailing counters
     audio_packets_stat_ = *rtp_stats->packets_received;
     audio_delay_stat_ = *track_stats->relative_packet_arrival_delay;
+    audio_samples_stat_ = *track_stats->total_samples_received;
+    audio_concealed_stat_ = *track_stats->concealed_samples;
   }
 
  private:
@@ -1111,6 +1136,8 @@
   // Variables for tracking delay stats on an audio track
   int audio_packets_stat_ = 0;
   double audio_delay_stat_ = 0.0;
+  uint64_t audio_samples_stat_ = 0;
+  uint64_t audio_concealed_stat_ = 0;
   std::string rtp_stats_id_;
   std::string audio_track_stats_id_;
 
