diff --git a/src/binary/mod.rs b/src/binary/mod.rs
index 46a13979286e4e82bc35c626b7d845210c535694..8cd4d22d0d70c1c9cf4860050983b2f86c75fef6 100644
--- a/src/binary/mod.rs
+++ b/src/binary/mod.rs
@@ -352,7 +352,7 @@ impl<'a> InteractiveShell<'a> {
             .write(true)
             .open(if cfg!(target_os = "redox") { "null:" } else { "/dev/null" })
             .map_err(|err| {
-                nix::Error::from_errno(nix::errno::Errno::from_i32(err.raw_os_error().unwrap()))
+                nix::errno::Errno::from_i32(err.raw_os_error().unwrap())
             })?
             .into_raw_fd();
 
diff --git a/src/lib/shell/pipe_exec/job_control.rs b/src/lib/shell/pipe_exec/job_control.rs
index 2fbca08c485ea4491b51219e298860a0a92bbf75..4634a09aa6b10f3042b8d33dd7ae2ea322d8e91e 100644
--- a/src/lib/shell/pipe_exec/job_control.rs
+++ b/src/lib/shell/pipe_exec/job_control.rs
@@ -146,7 +146,7 @@ impl<'a> Shell<'a> {
             opts.insert(WaitPidFlag::WCONTINUED);
             opts.insert(WaitPidFlag::WNOHANG);
             match wait::waitpid(Pid::from_raw(-pgid.as_raw()), Some(opts)) {
-                Err(nix::Error::Sys(nix::errno::Errno::ECHILD)) => {
+                Err(nix::errno::Errno::ECHILD) => {
                     if !fg_was_grabbed {
                         if let Some(ref callback) = &background_event {
                             callback(njob, pgid, BackgroundEvent::Exited(exit_status));
@@ -257,7 +257,7 @@ impl<'a> Shell<'a> {
         loop {
             match wait::waitpid(Pid::from_raw(-group.as_raw()), Some(WaitPidFlag::WUNTRACED)) {
                 Err(err) => match err {
-                    nix::Error::Sys(nix::errno::Errno::ECHILD) => {
+                    nix::errno::Errno::ECHILD => {
                         if let Some(signal) = signaled {
                             break Err(signal);
                         } else {