diff --git a/mysql-test/lib/mtr_process.pl b/mysql-test/lib/mtr_process.pl
index d3b652186dd..5149d322f7f 100644
--- a/mysql-test/lib/mtr_process.pl
+++ b/mysql-test/lib/mtr_process.pl
@@ -166,7 +166,7 @@ sub spawn_impl ($$$$$$$$) {
       {
         if ( ! open(STDOUT,$log_file_open_mode,$output) )
         {
-          mtr_error("can't redirect STDOUT to \"$output\": $!");
+          mtr_child_error("can't redirect STDOUT to \"$output\": $!");
         }
       }
 
@@ -176,14 +176,14 @@ sub spawn_impl ($$$$$$$$) {
         {
           if ( ! open(STDERR,">&STDOUT") )
           {
-            mtr_error("can't dup STDOUT: $!");
+            mtr_child_error("can't dup STDOUT: $!");
           }
         }
         else
         {
           if ( ! open(STDERR,$log_file_open_mode,$error) )
           {
-            mtr_error("can't redirect STDERR to \"$error\": $!");
+            mtr_child_error("can't redirect STDERR to \"$error\": $!");
           }
         }
       }
@@ -192,13 +192,13 @@ sub spawn_impl ($$$$$$$$) {
       {
         if ( ! open(STDIN,"<",$input) )
         {
-          mtr_error("can't redirect STDIN to \"$input\": $!");
+          mtr_child_error("can't redirect STDIN to \"$input\": $!");
         }
       }
 
       if ( ! exec($path,@$arg_list_t) )
       {
-        mtr_error("failed to execute \"$path\": $!");
+        mtr_child_error("failed to execute \"$path\": $!");
       }
     }
   }
diff --git a/mysql-test/lib/mtr_report.pl b/mysql-test/lib/mtr_report.pl
index 868653afaa4..9002f204602 100644
--- a/mysql-test/lib/mtr_report.pl
+++ b/mysql-test/lib/mtr_report.pl
@@ -19,6 +19,7 @@ sub mtr_print_header ();
 sub mtr_report (@);
 sub mtr_warning (@);
 sub mtr_error (@);
+sub mtr_child_error (@);
 sub mtr_debug (@);
 
 
@@ -74,7 +75,7 @@ sub mtr_show_failed_diff ($) {
 sub mtr_report_test_name ($) {
   my $tinfo= shift;
 
-  printf "%-31s ", $tinfo->{'name'};
+  printf "%-30s ", $tinfo->{'name'};
 }
 
 sub mtr_report_test_skipped ($) {
@@ -122,13 +123,13 @@ sub mtr_report_test_failed ($) {
   # we should write out into $::path_timefile when the error occurs.
   if ( -f $::path_timefile )
   {
-    print "Errors are (from $::path_timefile) :\n";
+    print "\nErrors are (from $::path_timefile) :\n";
     print mtr_fromfile($::path_timefile); # FIXME print_file() instead
     print "\n(the last lines may be the most important ones)\n";
   }
   else
   {
-    print "Unexpected termination, probably when starting mysqld\n";
+    print "\nUnexpected termination, probably when starting mysqld\n";
   }
 }
 
@@ -286,6 +287,11 @@ sub mtr_error (@) {
   mtr_exit(1);
 }
 
+sub mtr_child_error (@) {
+  print STDERR "mysql-test-run: *** ERROR(child): ",join(" ", @_),"\n";
+  exit(1);
+}
+
 sub mtr_debug (@) {
   if ( $::opt_script_debug )
   {