diff --git a/check.sh b/check.sh
index e82c0a018747b1a991a0ea479ad764f9786666cb..7ae6df5b194770862be9da2209201f128adbe12a 100755
--- a/check.sh
+++ b/check.sh
@@ -29,11 +29,11 @@ echo
 LOG=$(mktemp) || exit 1
 trap 'cat $LOG && rm -f "$LOG"' EXIT INT HUP TERM
 
-$blaar_dir/compile.sh t_parse_args 2>&1> $LOG 
-$blaar_dir/bin/t_parse_args "arg1" "arg2" 2> t_parse_args/test_result.log  
-git diff --exit-code t_parse_args/test_result.log || { echo "ERROR: The result of 't_parse_args' is not the one expected"; exit 3; }
-echo
-echo "- t_parse_args: compilation:OK, execution:OK, result OK"
+$blaar_dir/compile.sh t_parse_args 2>&1> $LOG || { error = $?; test $error == 127 && echo "already compiled" || exit $error; } 
+$blaar_dir/bin/t_parse_args "arg1" "arg2" 2> t_parse_args/test_result.log || { echo "Error executing 't_parse_args':"; cat t_parse_args/test_result.log; }
+git diff --exit-code t_parse_args/test_result.log || { echo "ERROR: The result of 't_parse_args' is not the one expected"; exit 3; } 
+echo 
+echo "- t_parse_args: compilation:OK, execution:OK, result OK" 
 echo
 
 exit 0