diff --git a/src/platform/src/redox/mod.rs b/src/platform/src/redox/mod.rs
index 1fb185bb51e2d361ad3906941796d69861e34ddc..f63870866c915fe49d3d26ebcd002218a245c975 100644
--- a/src/platform/src/redox/mod.rs
+++ b/src/platform/src/redox/mod.rs
@@ -205,8 +205,8 @@ pub fn unlink(path: *const c_char) -> c_int {
 pub fn waitpid(pid: pid_t, stat_loc: *mut c_int, options: c_int) -> pid_t {
     unsafe {
         let mut temp: usize = 0;
-        let mut res = e(syscall::waitpid(pid as usize, &mut temp, options as usize));
-        if !stat_loc.is_null()  {
+        let res = e(syscall::waitpid(pid as usize, &mut temp, options as usize));
+        if !stat_loc.is_null() {
             *stat_loc = temp as c_int;
         }
         res
diff --git a/tests/waitpid.c b/tests/waitpid.c
index dc8fe52a614b14a558d0e61771bfb1ca90b6ecc3..79f982920706683151424c8ad8c2287b85b27dee 100644
--- a/tests/waitpid.c
+++ b/tests/waitpid.c
@@ -10,7 +10,7 @@ int main(int argc, char** argv) {
     exit(0);
 } else {
     // parent
-    int* stat_loc;
-    waitpid(pid, stat_loc, 0);
+    int stat_loc;
+    waitpid(pid, &stat_loc, 0);
     }
 }