diff --git a/dongle.c b/dongle.c
index 5fb9db9f2226944670c90da81bd47e56d005dbe8..3a3f49cfe9b93022ea694bfb4f4a7a33649c8d63 100644
--- a/dongle.c
+++ b/dongle.c
@@ -132,7 +132,7 @@ int add_device(struct device *new_dev)
 
 		} else if (dev->ubus_obj && !dev->ip) {
 			unpublish_ubus_object(global_ctx, dev->ubus_obj);
-			dongle_destroy_dynamic_object(dev->ubus_obj);
+			dongle_destroy_dynamic_object(&(dev->ubus_obj));
 		}
 		dev->present = true;
 
@@ -197,7 +197,7 @@ int delete_device(struct device *dev)
 {
 	if (dev->ubus_obj) {
 		unpublish_ubus_object(global_ctx, dev->ubus_obj);
-		dongle_destroy_dynamic_object(dev->ubus_obj);
+		dongle_destroy_dynamic_object(&(dev->ubus_obj));
 	}
 
 	/*if (dev->list) // how to check if list contains this element?