diff --git a/tests/scripts/features/parallelism b/tests/scripts/features/parallelism
index 4991b90c..98ee8a30 100644
--- a/tests/scripts/features/parallelism
+++ b/tests/scripts/features/parallelism
@@ -75,7 +75,6 @@ rmfiles(qw(ONE.inc TWO.inc THREE.inc ONE TWO THREE 1.inc 2.inc));
 # function in an exported recursive variable.  I added some code to check
 # for this situation and print a message if it occurred.  This test used
 # to trigger this code when I added it but no longer does after the fix.
-# We have to increase the timeout from the default (5s) on this test.
 
 run_make_test(q!
 export HI = $(shell $($@.CMD))
@@ -86,7 +85,7 @@ second.CMD = #HELPER# sleep 4
 all: first second
 
 first second: ; @#HELPER# out $@ sleep 1 out $@!,
-              '-j2', "first\nsleep 1\nfirst\nsecond\nsleep 1\nsecond", 0, 7);
+              '-j2', "first\nsleep 1\nfirst\nsecond\nsleep 1\nsecond", 0);
 
 # Michael Matz <matz@suse.de> reported a bug where if make is running in
 # parallel without -k and two jobs die in a row, but not too close to each
diff --git a/tests/scripts/features/patternrules b/tests/scripts/features/patternrules
index b5b70347..0b35408d 100644
--- a/tests/scripts/features/patternrules
+++ b/tests/scripts/features/patternrules
@@ -196,7 +196,7 @@ all: foo.x foo-mt.x
               '', "one\ntwo");
 
 # Test pattern rules building the same targets
-# See SV 54233.  Rely on our standard test timeout to break the loop
+# See SV 54233.
 
 touch('a.c');
 
diff --git a/tests/test_driver.pl b/tests/test_driver.pl
index 32772f4a..964d3908 100644
--- a/tests/test_driver.pl
+++ b/tests/test_driver.pl
@@ -57,8 +57,8 @@ $pathsep = undef;
 $test_passed = 1;
 
 # Timeout in seconds.  If the test takes longer than this we'll fail it.
-$test_timeout = 5;
-$test_timeout = 10 if $^O eq 'VMS';
+# This is to prevent hung tests.
+$test_timeout = 60;
 
 $diff_name = undef;
 
@@ -859,7 +859,8 @@ sub compare_output
       $slurp_mod =~ s,\r\n,\n,gs;
 
       $answer_matched = ($slurp_mod eq $answer_mod);
-      if ($^O eq 'VMS') {
+
+      if (!$answer_matched && $^O eq 'VMS') {
 
         # VMS has extra blank lines in output sometimes.
         # Ticket #41760