Index: uspace/drv/bus/usb/usbhid/generic/hiddev.c
===================================================================
--- uspace/drv/bus/usb/usbhid/generic/hiddev.c	(revision bcf54ac88f5ed5b90ddf954ed277274aab8ea3b2)
+++ uspace/drv/bus/usb/usbhid/generic/hiddev.c	(revision a0c05e778cae904b5aac957ac135bc7796aab364)
@@ -179,6 +179,5 @@
 		return;
 
-	const int ret = ddf_fun_unbind(fun);
-	if (ret != EOK) {
+	if (ddf_fun_unbind(fun) != EOK) {
 		usb_log_error("Failed to unbind generic hid fun.\n");
 		return;
Index: uspace/drv/bus/usb/usbhid/multimedia/multimedia.c
===================================================================
--- uspace/drv/bus/usb/usbhid/multimedia/multimedia.c	(revision bcf54ac88f5ed5b90ddf954ed277274aab8ea3b2)
+++ uspace/drv/bus/usb/usbhid/multimedia/multimedia.c	(revision a0c05e778cae904b5aac957ac135bc7796aab364)
@@ -201,5 +201,10 @@
 		    "Could not add DDF function to category 'keyboard': %s.\n",
 		    str_error(rc));
-		ddf_fun_destroy(fun);
+		if (ddf_fun_unbind(fun) != EOK) {
+			usb_log_error("Failed to unbind %s, won't destroy.\n",
+			    fun->name);
+		} else {
+			ddf_fun_destroy(fun);
+		}
 		return rc;
 	}
@@ -220,7 +225,6 @@
 		if (multim_dev->console_sess)
 			async_hangup(multim_dev->console_sess);
-		const int ret = ddf_fun_unbind(fun);
-		if (ret != EOK) {
-			usb_log_error("Failed to unbind %s function.\n",
+		if (ddf_fun_unbind(fun) != EOK) {
+			usb_log_error("Failed to unbind %s, won't destroy.\n",
 			    fun->name);
 		} else {
