diff --git a/src/mount/redox/scheme.rs b/src/mount/redox/scheme.rs
index cd52fbaeb78a9a0da881cd5a9b69de1c6c3cf663..0a135fd2fa0f4976503981236341f3bf836922d7 100644
--- a/src/mount/redox/scheme.rs
+++ b/src/mount/redox/scheme.rs
@@ -481,6 +481,9 @@ impl<D: Disk> SchemeMut for FileScheme<D> {
         let scheme_name = &self.name;
         self.fs.tx(|tx| {
             let mut nodes = Vec::new();
+
+            // TODO: Clean up indentation using let-else, possibly elsewhere too.
+
             if let Some((child, child_name)) =
                 Self::path_nodes(scheme_name, tx, path, uid, gid, &mut nodes)?
             {
@@ -491,7 +494,7 @@ impl<D: Disk> SchemeMut for FileScheme<D> {
                     }
 
                     if !child.data().is_dir() {
-                        if child.data().uid() != uid {
+                        if child.data().uid() != uid && uid != 0 {
                             // println!("file not owned by current user {}", parent.1.uid);
                             return Err(Error::new(EACCES));
                         }