diff --git a/lustre/tests/replay-single.sh b/lustre/tests/replay-single.sh
index 7eec67010a6cefe49560424b57a0eae22bf2dc04..56646187f9ec59e474c725529d11052fff5e58ac 100755
--- a/lustre/tests/replay-single.sh
+++ b/lustre/tests/replay-single.sh
@@ -416,6 +416,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"
@@ -627,7 +628,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"
@@ -704,6 +706,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
 }