diff --git a/src/header/fcntl/redox.rs b/src/header/fcntl/redox.rs
index 95f2da5570ee2ba57af46e2b204c12c6d3e393cd..2fabd70d3331c2801e4042e3a0a2d6f6d8826d2b 100644
--- a/src/header/fcntl/redox.rs
+++ b/src/header/fcntl/redox.rs
@@ -1,20 +1,20 @@
 use platform::types::*;
 
-pub const O_RDONLY: c_int = 0x0001_0000;
-pub const O_WRONLY: c_int = 0x0002_0000;
-pub const O_RDWR: c_int = 0x0003_0000;
-pub const O_NONBLOCK: c_int = 0x0004_0000;
-pub const O_APPEND: c_int = 0x0008_0000;
-pub const O_SHLOCK: c_int = 0x0010_0000;
-pub const O_EXLOCK: c_int = 0x0020_0000;
-pub const O_ASYNC: c_int = 0x0040_0000;
-pub const O_FSYNC: c_int = 0x0080_0000;
-pub const O_CLOEXEC: c_int = 0x0100_0000;
-pub const O_CREAT: c_int = 0x0200_0000;
-pub const O_TRUNC: c_int = 0x0400_0000;
-pub const O_EXCL: c_int = 0x0800_0000;
-pub const O_DIRECTORY: c_int = 0x1000_0000;
-pub const O_PATH: c_int = 0x2000_0000;
-pub const O_SYMLINK: c_int = 0x4000_0000;
-pub const O_NOFOLLOW: c_int = 0x8000_0000;
+pub const O_RDONLY: c_int = 0x0001;
+pub const O_WRONLY: c_int = 0x0002;
+pub const O_RDWR: c_int = 0x0003;
+pub const O_NONBLOCK: c_int = 0x0004;
+pub const O_APPEND: c_int = 0x0008;
+pub const O_SHLOCK: c_int = 0x0010;
+pub const O_EXLOCK: c_int = 0x0020;
+pub const O_ASYNC: c_int = 0x0040;
+pub const O_FSYNC: c_int = 0x0080;
+pub const O_CLOEXEC: c_int = 0x0100;
+pub const O_CREAT: c_int = 0x0200;
+pub const O_TRUNC: c_int = 0x0400;
+pub const O_EXCL: c_int = 0x0800;
+pub const O_DIRECTORY: c_int = 0x1000;
+pub const O_PATH: c_int = 0x2000;
+pub const O_SYMLINK: c_int = 0x4000;
+pub const O_NOFOLLOW: c_int = 0x8000;
 pub const O_ACCMODE: c_int = O_RDONLY | O_WRONLY | O_RDWR;
diff --git a/src/platform/redox/mod.rs b/src/platform/redox/mod.rs
index fb7f81b77c4309a3e06256fb1835757f468affc0..959198ae7706ac26df43acccf46c576879ff97b2 100644
--- a/src/platform/redox/mod.rs
+++ b/src/platform/redox/mod.rs
@@ -695,7 +695,7 @@ impl Pal for Sys {
     fn open(path: &CStr, oflag: c_int, mode: mode_t) -> c_int {
         e(syscall::open(
             path.to_bytes(),
-            (oflag as usize) | (mode as usize),
+            ((oflag as usize) << 16) | (mode as usize),
         )) as c_int
     }