diff --git a/api/test/peerconnection_quality_test_fixture.h b/api/test/peerconnection_quality_test_fixture.h
index 94ccb04..8d07ccb 100644
--- a/api/test/peerconnection_quality_test_fixture.h
+++ b/api/test/peerconnection_quality_test_fixture.h
@@ -501,15 +501,7 @@
   virtual PeerHandle* AddPeer(
       rtc::Thread* network_thread,
       rtc::NetworkManager* network_manager,
-      rtc::FunctionView<void(PeerConfigurer*)> configurer) {
-    return nullptr;
-  }
-  virtual PeerHandle* AddAndReturnPeer(
-      rtc::Thread* network_thread,
-      rtc::NetworkManager* network_manager,
-      rtc::FunctionView<void(PeerConfigurer*)> configurer) {
-    return nullptr;
-  }
+      rtc::FunctionView<void(PeerConfigurer*)> configurer) = 0;
   // Runs the media quality test, which includes setting up the call with
   // configured participants, running it according to provided `run_params` and
   // terminating it properly at the end. During call duration media quality
diff --git a/test/pc/e2e/peer_connection_quality_test.cc b/test/pc/e2e/peer_connection_quality_test.cc
index 69c5ce9..684076c 100644
--- a/test/pc/e2e/peer_connection_quality_test.cc
+++ b/test/pc/e2e/peer_connection_quality_test.cc
@@ -154,8 +154,7 @@
   quality_metrics_reporters_.push_back(std::move(quality_metrics_reporter));
 }
 
-PeerConnectionE2EQualityTest::PeerHandle*
-PeerConnectionE2EQualityTest::AddAndReturnPeer(
+PeerConnectionE2EQualityTest::PeerHandle* PeerConnectionE2EQualityTest::AddPeer(
     rtc::Thread* network_thread,
     rtc::NetworkManager* network_manager,
     rtc::FunctionView<void(PeerConfigurer*)> configurer) {
@@ -166,13 +165,6 @@
   return &peer_handles_.back();
 }
 
-PeerConnectionE2EQualityTest::PeerHandle* PeerConnectionE2EQualityTest::AddPeer(
-    rtc::Thread* network_thread,
-    rtc::NetworkManager* network_manager,
-    rtc::FunctionView<void(PeerConfigurer*)> configurer) {
-  return AddAndReturnPeer(network_thread, network_manager, configurer);
-}
-
 void PeerConnectionE2EQualityTest::Run(RunParams run_params) {
   SetDefaultValuesForMissingParams(&run_params, &peer_configurations_);
   ValidateParams(run_params, peer_configurations_);
diff --git a/test/pc/e2e/peer_connection_quality_test.h b/test/pc/e2e/peer_connection_quality_test.h
index 6a3b68d..4426ee7 100644
--- a/test/pc/e2e/peer_connection_quality_test.h
+++ b/test/pc/e2e/peer_connection_quality_test.h
@@ -72,10 +72,6 @@
       rtc::Thread* network_thread,
       rtc::NetworkManager* network_manager,
       rtc::FunctionView<void(PeerConfigurer*)> configurer) override;
-  PeerHandle* AddAndReturnPeer(
-      rtc::Thread* network_thread,
-      rtc::NetworkManager* network_manager,
-      rtc::FunctionView<void(PeerConfigurer*)> configurer) override;
   void Run(RunParams run_params) override;
 
   TimeDelta GetRealTestDuration() const override {
