diff --git a/src/crt0/src/lib.rs b/src/crt0/src/lib.rs
index 2d2ce8f5eba844940b4f8fc387b688d7fb50b308..a4e49a3ddf034696efcea505a3ee28036c03e22f 100644
--- a/src/crt0/src/lib.rs
+++ b/src/crt0/src/lib.rs
@@ -63,10 +63,7 @@ impl Stack {
 #[no_mangle]
 pub unsafe extern "C" fn _start_rust(sp: &'static Stack) -> ! {
     extern "C" {
-        #[cfg(not(target_os = "redox"))]
         fn main(argc: isize, argv: *const *const c_char, envp: *const *const c_char) -> c_int;
-        #[cfg(target_os = "redox")]
-        fn main(argc: isize, argv: *const *const c_char) -> c_int;
     }
 
     let argc = sp.argc();
@@ -119,6 +116,7 @@ pub unsafe extern "C" fn _start_rust(sp: &'static Stack) -> ! {
     platform::exit(main(
         argc,
         argv as *const *const c_char,
+        platform::environ as *const *const c_char
     ));
 }