diff --git a/src/platform/redox/mod.rs b/src/platform/redox/mod.rs
index 3e32068c30b7d0d438a94117d80f316c081704c5..42ef429f58dea97c9164305de6af425f3ce0e37a 100644
--- a/src/platform/redox/mod.rs
+++ b/src/platform/redox/mod.rs
@@ -232,7 +232,7 @@ impl Pal for Sys {
             !0
         } else {
             match str::from_utf8(&buf[..res]) {
-                Ok(path) => e(syscall::chdir(&path)) as c_int,
+                Ok(path) => Sys::chdir(&CString::new(path).unwrap()),
                 Err(_) => {
                     unsafe { errno = EINVAL };
                     return -1;