diff --git a/src/ringdht/ringaccount.cpp b/src/ringdht/ringaccount.cpp
index 43ce82dbb65258d65bb4e259474ac5824270248f..66698fb21ad9a82f70253915c662d44605d9b705 100644
--- a/src/ringdht/ringaccount.cpp
+++ b/src/ringdht/ringaccount.cpp
@@ -2555,9 +2555,10 @@ RingAccount::doUnregister(std::function<void(bool)> released_cb)
         pendingSipCalls_.clear();
     }
 
-    /* RING_DBG("UPnP: removing port mapping for DHT account."); */
-    upnp_->setIGDListener();
-    upnp_->removeMappings();
+    if (upnp_) {
+        upnp_->setIGDListener();
+        upnp_->removeMappings();
+    }
 
     Manager::instance().unregisterEventHandler((uintptr_t)this);
     saveNodes(dht_.exportNodes());