Index: uspace/srv/hid/display/seat.c
===================================================================
--- uspace/srv/hid/display/seat.c	(revision b4b4dafec1d5fed1e8d2b84b501e3b97a9430fb0)
+++ uspace/srv/hid/display/seat.c	(revision 2e6394e9b57983df5807f35868516f9bf997dc35)
@@ -432,5 +432,5 @@
 	 * below, anyway.
 	 */
-	if (seat->popup != wnd && seat->popup != NULL) {
+	if (seat->popup != NULL) {
 		rc = ds_window_post_pos_event(seat->popup, event);
 		if (rc != EOK)
@@ -452,7 +452,13 @@
 		ds_seat_set_client_cursor(seat, wnd->cursor);
 
-		rc = ds_window_post_pos_event(wnd, event);
-		if (rc != EOK)
-			return rc;
+		/*
+		 * Only deliver event if we didn't already deliver it
+		 * to the same window above.
+		 */
+		if (wnd != seat->popup) {
+			rc = ds_window_post_pos_event(wnd, event);
+			if (rc != EOK)
+				return rc;
+		}
 	} else {
 		/* Not over a window */
