diff --git a/src/peer_connection.cpp b/src/peer_connection.cpp
index fb354d09e99ed1865df68a9d81e646a7862c7062..41ec654b6e16b319df8874acc22666d6ab432d39 100644
--- a/src/peer_connection.cpp
+++ b/src/peer_connection.cpp
@@ -234,6 +234,7 @@ public:
 
     ~Impl()
     {
+        ep_->underlyingICE()->setOnShutdown({});
         {
             std::lock_guard<std::mutex> lk(cbMtx_);
             onStateChangeCb_ = {};