diff --git a/src/platform/redox/signal.rs b/src/platform/redox/signal.rs
index 86612fc1dd116f06ce1babce06466db59cbb01d4..25254ff262148b73cc1bc50c764806912ce6fce8 100644
--- a/src/platform/redox/signal.rs
+++ b/src/platform/redox/signal.rs
@@ -291,8 +291,10 @@ asmfunction!(__relibc_internal_sigentry: ["
     call {inner}
 
     add esp, 512
+    fxrstor [esp]
+
     mov eax, {SYS_SIGRETURN}
-    syscall
+    int 0x80
 "] <= [inner = sym inner_fastcall, SYS_SIGRETURN = const SYS_SIGRETURN]);
 
 #[cfg(target_arch = "aarch64")]