diff --git a/server/change.c b/server/change.c
index d00a885dd29b865c2b6ec13f4330a6e844de12b4..3335e7a2be47348bac3bf87cfabf52956f09a1de 100644
--- a/server/change.c
+++ b/server/change.c
@@ -949,11 +949,9 @@ static void inotify_poll_event( struct fd *fd, int event )
     for( ofs = 0; ofs < r - offsetof(struct inotify_event, name); )
     {
         ie = (struct inotify_event*) &buffer[ofs];
-        if (!ie->len)
-            break;
         ofs += offsetof( struct inotify_event, name[ie->len] );
         if (ofs > r) break;
-        inotify_notify_all( ie );
+        if (ie->len) inotify_notify_all( ie );
     }
 }