Index: uspace/lib/usbhid/src/hiddescriptor.c
===================================================================
--- uspace/lib/usbhid/src/hiddescriptor.c	(revision dcb7d7cd6753bc17b6e14b5b93793cb4b97abc4d)
+++ uspace/lib/usbhid/src/hiddescriptor.c	(revision 8c74d15d2b1a8df5daa8ef5f730232c826c40c95)
@@ -328,4 +328,8 @@
 		const usb_hid_report_t *report, uint8_t report_id,
 		usb_hid_report_type_t type) {
+
+	if(report == NULL) {
+		return NULL;
+	}
 
 	link_t *report_it = report->reports.next;
Index: uspace/lib/usbhid/src/hidparser.c
===================================================================
--- uspace/lib/usbhid/src/hidparser.c	(revision dcb7d7cd6753bc17b6e14b5b93793cb4b97abc4d)
+++ uspace/lib/usbhid/src/hidparser.c	(revision 8c74d15d2b1a8df5daa8ef5f730232c826c40c95)
@@ -605,6 +605,12 @@
 	
 	if(report_id > 0) {
-		report_it = usb_hid_report_find_description(report, report_id, 
-			type)->link.next;		
+		report_des = usb_hid_report_find_description(report, report_id, 
+			type);
+		if(report_des == NULL) {
+			return 0;
+		}
+		else {
+			report_it = report_des->link.next;
+		}	
 	}
 	else {
