diff --git a/coreapi/linphonecore.c b/coreapi/linphonecore.c
index aa1362cc02d912f30896363f1c6d1f92f4e1a6e1..387ad56217b599bb096594ecaa72f60427f2cdc7 100644
--- a/coreapi/linphonecore.c
+++ b/coreapi/linphonecore.c
@@ -4148,6 +4148,7 @@ static void linphone_core_uninit(LinphoneCore *lc)
 	linphone_core_free_payload_types(lc);
 	ortp_exit();
 	linphone_core_set_state(lc,LinphoneGlobalOff,"Off");
+	if (lc->tunnel) linphone_tunnel_destroy(lc->tunnel);
 }
 
 static void set_network_reachable(LinphoneCore* lc,bool_t isReachable, time_t curtime){