diff --git a/src/ringdht/sips_transport_ice.cpp b/src/ringdht/sips_transport_ice.cpp
index 9b1d340d497bee00bd1f001ef2956929c89ba841..b62d3f88aaec9977cb1dbecdd51153f05888301f 100644
--- a/src/ringdht/sips_transport_ice.cpp
+++ b/src/ringdht/sips_transport_ice.cpp
@@ -177,7 +177,7 @@ SipsIceTransport::SipsIceTransport(pjsip_endpoint* endpt,
     if (pjsip_transport_register(base.tpmgr, &base) != PJ_SUCCESS)
         throw std::runtime_error("Can't register PJSIP transport.");
 
-    gnutls_priority_init(&priority_cache,
+    gnutls_priority_init(&priority_cache_,
                          "SECURE192:-VERS-TLS-ALL:+VERS-DTLS-ALL:%SERVER_PRECEDENCE",
                          nullptr);
 
@@ -219,6 +219,8 @@ SipsIceTransport::~SipsIceTransport()
 
     pj_lock_destroy(trData_.base.lock);
     pj_atomic_destroy(trData_.base.ref_cnt);
+
+    gnutls_priority_deinit(priority_cache_);
 }
 
 pj_status_t
@@ -237,7 +239,7 @@ SipsIceTransport::startTlsSession()
     gnutls_session_set_ptr(session_, this);
     gnutls_transport_set_ptr(session_, this);
 
-    gnutls_priority_set(session_, priority_cache);
+    gnutls_priority_set(session_, priority_cache_);
 
     /* Allocate credentials for handshaking and transmission */
     gnutls_certificate_credentials_t certCred;
diff --git a/src/ringdht/sips_transport_ice.h b/src/ringdht/sips_transport_ice.h
index aa4284afeda4cdada6d23049192a399b6e45d34c..365d89735151bd924f148e35675b22dc2470bc74 100644
--- a/src/ringdht/sips_transport_ice.h
+++ b/src/ringdht/sips_transport_ice.h
@@ -129,7 +129,7 @@ private:
 
     gnutls_session_t session_ {nullptr};
     std::unique_ptr<gnutls_certificate_credentials_st, decltype(gnutls_certificate_free_credentials)&> xcred_;
-    gnutls_priority_t priority_cache;
+    gnutls_priority_t priority_cache_ {nullptr};
     gnutls_datum_t cookie_key_ {nullptr, 0};
     gnutls_dtls_prestate_st prestate_;