Index: uspace/lib/display/src/display.c
===================================================================
--- uspace/lib/display/src/display.c	(revision 762f989f5559e3f0b9a92580c987578e25a952c6)
+++ uspace/lib/display/src/display.c	(revision f03d1308db413ac682d3d6bf4340b8c21226d67a)
@@ -198,5 +198,5 @@
 /** Destroy display window.
  *
- * @param window Window
+ * @param window Window or @c NULL
  * @return EOK on success or an error code. In both cases @a window must
  *         not be accessed anymore
@@ -206,4 +206,7 @@
 	async_exch_t *exch;
 	errno_t rc;
+
+	if (window == NULL)
+		return EOK;
 
 	exch = async_exchange_begin(window->display->sess);
Index: uspace/lib/display/test/display.c
===================================================================
--- uspace/lib/display/test/display.c	(revision 762f989f5559e3f0b9a92580c987578e25a952c6)
+++ uspace/lib/display/test/display.c	(revision f03d1308db413ac682d3d6bf4340b8c21226d67a)
@@ -331,4 +331,10 @@
 }
 
+/** display_window_destroy() can handle NULL argument */
+PCUT_TEST(window_destroy_null)
+{
+	display_window_destroy(NULL);
+}
+
 /** display_window_move_req() with server returning error response works. */
 PCUT_TEST(window_move_req_failure)
