diff --git a/src/lib/CollisionAvoidance/CollisionAvoidance.cpp b/src/lib/CollisionAvoidance/CollisionAvoidance.cpp
index 1afc2f5c2687bbe8acf53fc34fbf3fc725b13a6c..9b712cc553b6bd47b9ef67b34776592b62cf7d65 100644
--- a/src/lib/CollisionAvoidance/CollisionAvoidance.cpp
+++ b/src/lib/CollisionAvoidance/CollisionAvoidance.cpp
@@ -46,6 +46,16 @@ CollisionAvoidance::CollisionAvoidance() :
 
 }
 
+CollisionAvoidance::~CollisionAvoidance(){
+	//unadvertise publishers
+	if (_constraints_pub != nullptr) {
+		orb_unadvertise(_constraints_pub);
+	}
+	if (_mavlink_log_pub != nullptr) {
+		orb_unadvertise(_mavlink_log_pub);
+	}
+}
+
 bool CollisionAvoidance::initializeSubscriptions(SubscriptionArray &subscription_array)
 {
 	if (!subscription_array.get(ORB_ID(obstacle_distance), _sub_obstacle_distance)) {
diff --git a/src/lib/CollisionAvoidance/CollisionAvoidance.hpp b/src/lib/CollisionAvoidance/CollisionAvoidance.hpp
index 39a05c9bd0c8a630eb06b98cde16e0de9ce1eb71..66a72d75d4d3def76aa0b37fd0e123a79061e22e 100644
--- a/src/lib/CollisionAvoidance/CollisionAvoidance.hpp
+++ b/src/lib/CollisionAvoidance/CollisionAvoidance.hpp
@@ -63,7 +63,7 @@ class CollisionAvoidance : public ModuleParams
 public:
 	CollisionAvoidance();
 
-	~CollisionAvoidance() = default;
+	~CollisionAvoidance();
 
 	/**
 	 * Initialize the uORB subscriptions using an array