diff --git a/src/platform/src/redox/mod.rs b/src/platform/src/redox/mod.rs
index 9b1ec593c56ffbe9d5e7bfa1b1decbfc613584a7..5ab3e4915546962192c4e196aea7ea8f75d163e8 100644
--- a/src/platform/src/redox/mod.rs
+++ b/src/platform/src/redox/mod.rs
@@ -215,7 +215,7 @@ pub fn mkdir(path: *const c_char, mode: mode_t) -> c_int {
 }
 
 pub fn mkfifo(path: *const c_char, mode: mode_t) -> c_int {
-    let flags = O_CREAT | MODE_FIFO | mode as usize & 0o777;
+    let flags = O_CREAT | MODE_FIFO as usize | mode as usize & 0o777;
     let path = unsafe { c_str(path) };
     match syscall::open(path, flags) {
         Ok(fd) => {