diff --git a/daemon/src/sip/siptransport.cpp b/daemon/src/sip/siptransport.cpp
index b6f77c4885027d03f1e67555f96331c63dcae44d..eabc34e7d43646a9f2f95289a591be493e84c4e9 100644
--- a/daemon/src/sip/siptransport.cpp
+++ b/daemon/src/sip/siptransport.cpp
@@ -112,7 +112,10 @@ SipTransport::stateToStr(pjsip_transport_state state)
 }
 
 SipTransportBroker::SipTransportBroker(pjsip_endpoint *endpt, pj_caching_pool& cp, pj_pool_t& pool) :
-iceTransports_(), cp_(cp), pool_(pool), endpt_(endpt)
+#if HAVE_DHT
+iceTransports_(),
+#endif
+cp_(cp), pool_(pool), endpt_(endpt)
 {
     instance = this;
     auto status = pjsip_tpmgr_set_state_cb(pjsip_endpt_get_tpmgr(endpt_), SipTransportBroker::tp_state_callback);
@@ -121,7 +124,9 @@ iceTransports_(), cp_(cp), pool_(pool), endpt_(endpt)
         sip_utils::sip_strerror(status);
     }
 
+#if HAVE_DHT
     pjsip_transport_register_type(PJSIP_TRANSPORT_DATAGRAM, "ICE", pjsip_transport_get_default_port_for_type(PJSIP_TRANSPORT_UDP), &ice_pj_transport_type_);
+#endif
 }
 
 SipTransportBroker::~SipTransportBroker()
@@ -186,7 +191,9 @@ SipTransportBroker::transportStateChanged(pjsip_transport* tp, pjsip_transport_s
                 udpTransports_.erase(transport_key);
                 transportDestroyedCv_.notify_all();
             }
-        } else if (type == ice_pj_transport_type_) {
+        }
+#if HAVE_DHT
+        else if (type == ice_pj_transport_type_) {
             SFL_WARN("ICE transport destroy");
             std::unique_lock<std::mutex> lock(iceMutex_);
             const auto transport_key = std::find_if(iceTransports_.begin(), iceTransports_.end(), [tp](const SipIceTransport& i) {
@@ -195,6 +202,7 @@ SipTransportBroker::transportStateChanged(pjsip_transport* tp, pjsip_transport_s
             if (transport_key != iceTransports_.end())
                 iceTransports_.erase(transport_key);
         }
+#endif
     }
 }
 
@@ -369,6 +377,7 @@ SipTransportBroker::getTlsTransport(const std::shared_ptr<TlsListener>& l, const
 }
 #endif
 
+#if HAVE_DHT
 std::shared_ptr<SipTransport>
 SipTransportBroker::getIceTransport(const std::shared_ptr<sfl::IceTransport>& ice)
 {
@@ -383,6 +392,7 @@ SipTransportBroker::getIceTransport(const std::shared_ptr<sfl::IceTransport>& ic
     sip_ice_tr.start();
     return ret;
 }
+#endif
 
 std::vector<pj_sockaddr>
 SipTransportBroker::getSTUNAddresses(const pj_str_t serverName, pj_uint16_t port, std::vector<long> &socketDescriptors) const
diff --git a/daemon/src/sip/siptransport.h b/daemon/src/sip/siptransport.h
index 97abea957f445b631222ad3a8ac562fa84f0b6df..6301d4d0e2256b40bc4e2da6d6eff7415abf1faa 100644
--- a/daemon/src/sip/siptransport.h
+++ b/daemon/src/sip/siptransport.h
@@ -178,7 +178,9 @@ public:
     std::shared_ptr<SipTransport> getTlsTransport(const std::shared_ptr<TlsListener>&, const IpAddr& remote);
 #endif
 
+#if HAVE_DHT
     std::shared_ptr<SipTransport> getIceTransport(const std::shared_ptr<sfl::IceTransport>&);
+#endif
 
     std::shared_ptr<SipTransport> findTransport(pjsip_transport*);
 
@@ -247,8 +249,12 @@ private:
     /**
      * Storage for SIP/ICE transport instances.
      */
+#if HAVE_DHT
+    int ice_pj_transport_type_ {PJSIP_TRANSPORT_START_OTHER};
+
     std::list<SipIceTransport> iceTransports_;
     std::mutex iceMutex_ {};
+#endif
 
     std::mutex transportMapMutex_ {};
     std::condition_variable transportDestroyedCv_ {};
@@ -257,7 +263,6 @@ private:
     pj_pool_t& pool_;
     pjsip_endpoint *endpt_;
 
-    int ice_pj_transport_type_ {PJSIP_TRANSPORT_START_OTHER};
 };
 
 #endif // SIPTRANSPORT_H_