Index: uspace/srv/hid/display/display.c
===================================================================
--- uspace/srv/hid/display/display.c	(revision cc90846a6d84996c66ad819948264942ec761b29)
+++ uspace/srv/hid/display/display.c	(revision 4645b2c34ead210c775e6151cfd474eff304e55a)
@@ -463,4 +463,6 @@
 
 	gc = ds_display_get_gc(disp); // XXX
+	if (gc == NULL)
+		return EOK;
 
 	rc = gfx_set_color(gc, disp->bg_color);
Index: uspace/srv/hid/display/test/display.c
===================================================================
--- uspace/srv/hid/display/test/display.c	(revision cc90846a6d84996c66ad819948264942ec761b29)
+++ uspace/srv/hid/display/test/display.c	(revision 4645b2c34ead210c775e6151cfd474eff304e55a)
@@ -396,4 +396,10 @@
 	PCUT_ASSERT_EQUALS(w1, seat->focus);
 
+	event.type = PTD_RELEASE;
+	event.btn_num = 1;
+	rc = ds_display_post_ptd_event(disp, &event);
+	PCUT_ASSERT_ERRNO_VAL(EOK, rc);
+	PCUT_ASSERT_FALSE(called_cb);
+
 	event.type = PTD_MOVE;
 	event.dmove.x = -400 + 10;
Index: uspace/srv/hid/display/test/window.c
===================================================================
--- uspace/srv/hid/display/test/window.c	(revision cc90846a6d84996c66ad819948264942ec761b29)
+++ uspace/srv/hid/display/test/window.c	(revision 4645b2c34ead210c775e6151cfd474eff304e55a)
@@ -125,6 +125,6 @@
 
 	PCUT_ASSERT_INT_EQUALS(dsw_moving, wnd->state);
-	PCUT_ASSERT_INT_EQUALS(wnd->dpos.x, 0);
-	PCUT_ASSERT_INT_EQUALS(wnd->dpos.y, 0);
+	PCUT_ASSERT_INT_EQUALS(wnd->dpos.x, 1);
+	PCUT_ASSERT_INT_EQUALS(wnd->dpos.y, 2);
 
 	event.type = POS_RELEASE;
Index: uspace/srv/hid/display/window.c
===================================================================
--- uspace/srv/hid/display/window.c	(revision cc90846a6d84996c66ad819948264942ec761b29)
+++ uspace/srv/hid/display/window.c	(revision 4645b2c34ead210c775e6151cfd474eff304e55a)
@@ -301,9 +301,9 @@
 		wnd->pixelmap.height = dims.y;
 		wnd->pixelmap.data = alloc.pixels;
-	}
-
-	if (wnd->pixelmap.data == NULL) {
-		rc = ENOMEM;
-		goto error;
+
+		if (wnd->pixelmap.data == NULL) {
+			rc = ENOMEM;
+			goto error;
+		}
 	}
 
@@ -382,4 +382,8 @@
 	}
 
+	/* This can happen in unit tests */
+	if (wnd->bitmap == NULL)
+		return EOK;
+
 	return gfx_bitmap_render(wnd->bitmap, brect, &wnd->dpos);
 }
