diff --git a/src/ld_so/mod.rs b/src/ld_so/mod.rs
index 0cecd112857012728dad1befa0c7dffa449594b9..17aad17f45f6e3729af9ed6eb73007f227a310c8 100644
--- a/src/ld_so/mod.rs
+++ b/src/ld_so/mod.rs
@@ -143,7 +143,7 @@ pub unsafe fn init(sp: &'static Stack) {
         const ARCH_GET_FS: usize = 0x1003;
         syscall!(ARCH_PRCTL, ARCH_GET_FS, &mut tp as *mut usize);
     }
-    #[cfg(target_os = "redox")]
+    #[cfg(all(target_os = "redox", target_arch = "x86_64"))]
     {
         let mut env = syscall::EnvRegisters::default();