diff --git a/t/lib-httpd.sh b/t/lib-httpd.sh
index 71effc5bec..e733f6516f 100644
--- a/t/lib-httpd.sh
+++ b/t/lib-httpd.sh
@@ -145,7 +145,7 @@ test_http_push_nonff() {
 		echo "changed" > path2 &&
 		git commit -a -m path2 --amend &&
 
-		!(git push -v origin >output 2>&1) &&
+		test_must_fail git push -v origin >output 2>&1 &&
 		(cd "$REMOTE_REPO" &&
 		 test $HEAD = $(git rev-parse --verify HEAD))
 	'
diff --git a/t/t5541-http-push.sh b/t/t5541-http-push.sh
index 504884b9f8..b0c2a2c3ae 100755
--- a/t/t5541-http-push.sh
+++ b/t/t5541-http-push.sh
@@ -128,7 +128,7 @@ test_expect_success 'push fails for non-fast-forward refs unmatched by remote he
 
 	# push master too; this ensures there is at least one '"'push'"' command to
 	# the remote helper and triggers interaction with the helper.
-	!(git push -v origin +master master:retsam >output 2>&1) &&
+	test_must_fail git push -v origin +master master:retsam >output 2>&1 &&
 
 	grep "^ + [a-f0-9]*\.\.\.[a-f0-9]* *master -> master (forced update)$" output &&
 	grep "^ ! \[rejected\] *master -> retsam (non-fast-forward)$" output &&