diff --git a/src/egl/eglut/eglut_wayland.c b/src/egl/eglut/eglut_wayland.c
index 578ade1c2b8db4429f8fe8e30372591d8e966030..2c02df9e2fbd1a3681e80c6b3dc4ab4c9412aa44 100644
--- a/src/egl/eglut/eglut_wayland.c
+++ b/src/egl/eglut/eglut_wayland.c
@@ -222,7 +222,7 @@ _eglutNativeEventLoop(void)
       if (poll(&pollfd, 1, -1) == -1)
          break;
 
-      if (pollfd.revents & (POLLERR | POLLHUP))
+      if (pollfd.revents & (POLLERR | POLLHUP | POLLNVAL))
          break;
 
       if (pollfd.events & POLLOUT) {