Index: uspace/drv/usbhid/mouse/mousedev.c
===================================================================
--- uspace/drv/usbhid/mouse/mousedev.c	(revision c32a585afa54f27e19b8efa3723fa795f5e27446)
+++ uspace/drv/usbhid/mouse/mousedev.c	(revision a49e17176a379a47b42277c9a627431062cf002e)
@@ -132,5 +132,5 @@
 
 		mouse_dev->console_phone = callback;
-		usb_log_debug("Console phone to mouse set ok.\n");
+		usb_log_debug("Console phone to mouse set ok (%d).\n", callback);
 		async_answer_0(icallid, EOK);
 		return;
@@ -199,4 +199,5 @@
 	
 	if (mouse_dev->console_phone >= 0) {
+		usb_log_debug("Console phone: %d\n", mouse_dev->console_phone);
 		if ((shift_x != 0) || (shift_y != 0)) {
 			/* FIXME: guessed for QEMU */
@@ -276,5 +277,11 @@
 	}
 	
-	usb_mouse_t *mouse_dev = (usb_mouse_t *)arg;
+	usb_hid_dev_t *hid_dev = (usb_hid_dev_t *)arg;
+	if (hid_dev->data == NULL) {
+		usb_log_error("Wrong argument to the mouse polling callback."
+		    "\n");
+		return false;
+	}
+	usb_mouse_t *mouse_dev = (usb_mouse_t *)hid_dev->data;
 	
 	return usb_mouse_process_boot_report(mouse_dev, buffer, buffer_size);
