diff --git a/lustre/tests/replay-single.sh b/lustre/tests/replay-single.sh
index b24a01dbb456f9ee3076d1b9c3329663ec6e21c4..5d470110487b07dde35173fe0147dd1b9a2feee7 100755
--- a/lustre/tests/replay-single.sh
+++ b/lustre/tests/replay-single.sh
@@ -425,6 +425,7 @@ test_20c() { # bug 10480
     kill -USR1 $pid
     test -s $DIR/$tfile || error "File was truncated"
 
+    wait $pid || return 1
     return 0
 }
 run_test 20c "check that client eviction does not affect file content"
@@ -636,7 +637,8 @@ test_32() {
     df $MOUNT || sleep 1 && df $MOUNT || return 1
     kill -USR1 $pid1
     kill -USR1 $pid2
-    sleep 1
+    wait $pid1 || return 4
+    wait $pid2 || return 5
     return 0
 }
 run_test 32 "close() notices client eviction; close() after client eviction"
@@ -713,6 +715,7 @@ test_37() {
     fail_abort mds
     kill -USR1 $pid
     dmesg | grep  "mds_unlink_orphan.*error .* unlinking orphan" && return 1
+    wait $pid || return 3
     sync
     return 0
 }