diff --git a/src/mount/redox/scheme.rs b/src/mount/redox/scheme.rs
index 8d5dc9fbc1bf0c65c6ede5c0dde1ae17967ff6bd..e905e39c99aa6f9589eb9b382e388ccb2043b5e7 100644
--- a/src/mount/redox/scheme.rs
+++ b/src/mount/redox/scheme.rs
@@ -494,6 +494,16 @@ impl<D: Disk> Scheme for FileScheme<D> {
         }
     }
 
+    fn fevent(&self, id: usize, flags: usize) -> Result<usize> {
+        let files = self.files.borrow_mut();
+        if let Some(file) = files.get(&id) {
+            // EPERM is returned for files that are always readable or writable
+            Err(Error::new(EPERM))
+        } else {
+            Err(Error::new(EBADF))
+        }
+    }
+
     fn fpath(&self, id: usize, buf: &mut [u8]) -> Result<usize> {
         // println!("Fpath {}, {:X} {}", id, buf.as_ptr() as usize, buf.len());
         let files = self.files.borrow_mut();