diff --git a/redox-rt/src/proc.rs b/redox-rt/src/proc.rs
index e4564bb700cb9d93f837e12f33b38a88d51ac72c..a89354f274eca1ddda62ec20cd070d5d3fea3f4c 100644
--- a/redox-rt/src/proc.rs
+++ b/redox-rt/src/proc.rs
@@ -421,6 +421,15 @@ where
 
     push(argc)?;
 
+    if let Ok(sighandler_fd) = syscall::dup(*open_via_dup, b"sighandler").map(FdGuard::new) {
+        let _ = syscall::write(*sighandler_fd, &SetSighandlerData {
+            user_handler: 0,
+            excp_handler: 0,
+            thread_control_addr: 0,
+            proc_control_addr: 0,
+        });
+    }
+
     unsafe {
         deactivate_tcb(*open_via_dup)?;
     }