diff --git a/src/main.rs b/src/main.rs
index 191e8baf575b6ea8b2c36b7fe93ca815744827d9..512825cf71e8429e913ed34a2d3c878d037cb638 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -154,10 +154,10 @@ fn main_run(args: args::Run) -> ! {
                 drop(from_parent);
                 drop(to_parent);
 
-                let msg = from_child.recv();
-
                 let status = waitpid(child, None);
 
+                let msg = from_child.recv();
+
                 // Restore termios configuration as planned
                 if let Some(tcattr) = tcattr.as_ref() {
                     tcsetattr(0, TCSADRAIN, tcattr).unwrap();