Index: uspace/drv/bus/usb/usbhid/kbd/kbddev.c
===================================================================
--- uspace/drv/bus/usb/usbhid/kbd/kbddev.c	(revision 215595501bab583b756e87333edf41b81051d47b)
+++ uspace/drv/bus/usb/usbhid/kbd/kbddev.c	(revision bcf54ac88f5ed5b90ddf954ed277274aab8ea3b2)
@@ -531,7 +531,12 @@
 		    "Could not add DDF function to category %s: %s.\n",
 		    HID_KBD_CLASS_NAME, str_error(rc));
-		ddf_fun_unbind(fun);
-		fun->driver_data = NULL; /* We need this later */
-		ddf_fun_destroy(fun);
+		if (ddf_fun_unbind(fun) == EOK) {
+			fun->driver_data = NULL; /* We need this later */
+			ddf_fun_destroy(fun);
+		} else {
+			usb_log_error(
+			    "Failed to unbind `%s', will not destroy.\n",
+			    fun->name);
+		}
 		return rc;
 	}
