diff --git a/src/sip/sipaccount.cpp b/src/sip/sipaccount.cpp
index 9e35fec2a102ec2cbc8ec4b9e753567e4ac2acbb..f06b1fa29f786143aed08d3db534184ad2a663c0 100644
--- a/src/sip/sipaccount.cpp
+++ b/src/sip/sipaccount.cpp
@@ -842,9 +842,10 @@ void SIPAccount::doUnregister(std::function<void(bool)> released_cb)
     if (released_cb)
         released_cb(not isIP2IP());
 
-    /* RING_DBG("UPnP: removing port mapping for SIP account."); */
-    upnp_->setIGDListener();
-    upnp_->removeMappings();
+    if (upnpEnabled_) {
+        upnp_->setIGDListener();
+        upnp_->removeMappings();
+    }
 }
 
 void