diff --git a/src/platform/redox/redox-exec/src/arch/x86.rs b/src/platform/redox/redox-exec/src/arch/x86.rs
index 8f664ef9cfed775a82768c7042ef5636c9002df7..0f84b8e05690c1e69b30157a70e502cd5930db09 100644
--- a/src/platform/redox/redox-exec/src/arch/x86.rs
+++ b/src/platform/redox/redox-exec/src/arch/x86.rs
@@ -54,9 +54,10 @@ __relibc_internal_fork_wrapper:
     push ebp
     mov ebp, esp
 
+    // Push preserved registers
     push ebx
-    push esi
     push edi
+    push esi
     push ebp
 
     sub esp, 32
@@ -86,6 +87,8 @@ __relibc_internal_fork_ret:
     .p2align 4
 2:
     add esp, 32
+
+    // Pop preserved registers
     pop ebp
     pop esi
     pop edi