diff --git a/dongle.c b/dongle.c
index 0ca5b30c7aa79c11984622ff0f5ae77e872b3b82..f27aa960ef069b4dc9e81c9ea7f20a3d57846b4c 100644
--- a/dongle.c
+++ b/dongle.c
@@ -227,6 +227,7 @@ void free_device(struct device *dev)
 		return;
 
 	free(dev->ip);
+	free_usb(&(dev->usb));
 	free(&(dev->usb));
 }