diff --git a/bob/bio/base/test/test_scripts.py b/bob/bio/base/test/test_scripts.py
index 4cdb37b551be063683f03f021057812fa3942a2b..e5e80510ceda4d8556638762fa8b51b5196b470f 100644
--- a/bob/bio/base/test/test_scripts.py
+++ b/bob/bio/base/test/test_scripts.py
@@ -5,6 +5,7 @@ from __future__ import print_function
 import bob.measure
 
 import os
+import sys
 import shutil
 import tempfile
 import numpy
@@ -20,6 +21,22 @@ import pkg_resources
 
 regenerate_reference = False
 
+# based on: http://stackoverflow.com/questions/6796492/temporarily-redirect-stdout-stderr
+class Quiet(object):
+  def __init__(self):
+    devnull = open(os.devnull, 'w')
+    self._stdout = devnull
+    self._stderr = devnull
+
+  def __enter__(self):
+    self.old_stdout, self.old_stderr = sys.stdout, sys.stderr
+    self.old_stdout.flush(); self.old_stderr.flush()
+    sys.stdout, sys.stderr = self._stdout, self._stderr
+
+  def __exit__(self, exc_type, exc_value, traceback):
+    self._stdout.flush(); self._stderr.flush()
+    sys.stdout = self.old_stdout
+    sys.stderr = self.old_stderr
 
 
 dummy_dir = pkg_resources.resource_filename('bob.bio.base', 'test/dummy')
@@ -72,8 +89,7 @@ def test_verify_local():
       '-e', os.path.join(dummy_dir, 'extractor.py'),
       '-a', os.path.join(dummy_dir, 'algorithm.py'),
       '--zt-norm',
-      '-vvv',
-      '-s', 'test_local',
+      '-vs', 'test_local',
       '--temp-directory', test_dir,
       '--result-directory', test_dir
   ]
@@ -92,8 +108,7 @@ def test_verify_resources():
       '-e', 'dummy',
       '-a', 'dummy',
       '--zt-norm',
-      '-vvv',
-      '-s', 'test_resource',
+      '-vs', 'test_resource',
       '--temp-directory', test_dir,
       '--result-directory', test_dir
   ]
@@ -112,8 +127,7 @@ def test_verify_commandline():
       '-e', 'bob.bio.base.test.dummy.extractor.DummyExtractor()',
       '-a', 'bob.bio.base.test.dummy.algorithm.DummyAlgorithm()',
       '--zt-norm',
-      '-vvv',
-      '-s', 'test_commandline',
+      '-vs', 'test_commandline',
       '--temp-directory', test_dir,
       '--result-directory', test_dir
   ]
@@ -135,8 +149,7 @@ def test_verify_parallel():
       '-e', 'bob.bio.base.test.dummy.extractor.DummyExtractor()',
       '-a', 'dummy',
       '--zt-norm',
-      '-vvv',
-      '-s', 'test_parallel',
+      '-vs', 'test_parallel',
       '--temp-directory', test_dir,
       '--result-directory', test_dir,
       '-g', 'bob.bio.base.grid.Grid(grid_type = "local", number_of_parallel_processes = 2, scheduler_sleep_time = 0.1)', '-G', test_database, '--run-local-scheduler', '--stop-on-failure',
@@ -157,8 +170,7 @@ def test_verify_compressed():
       '-e', 'dummy',
       '-a', 'dummy',
       '--zt-norm',
-      '-vvv',
-      '-s', 'test_compressed',
+      '-vs', 'test_compressed',
       '--temp-directory', test_dir,
       '--result-directory', test_dir,
       '--write-compressed-score-files'
@@ -178,8 +190,7 @@ def test_verify_calibrate():
       '-e', 'dummy',
       '-a', 'dummy',
       '--zt-norm',
-      '-vvv',
-      '-s', 'test_calibrate',
+      '-vs', 'test_calibrate',
       '--temp-directory', test_dir,
       '--result-directory', test_dir,
       '--calibrate-scores'
@@ -199,8 +210,7 @@ def test_verify_fileset():
       '-e', 'bob.bio.base.test.dummy.extractor.DummyExtractor()',
       '-a', 'dummy',
       '--zt-norm',
-      '-vvv',
-      '-s', 'test_fileset',
+      '-vs', 'test_fileset',
       '--temp-directory', test_dir,
       '--result-directory', test_dir
   ]
@@ -224,8 +234,7 @@ def test_verify_filelist():
       '-e', 'dummy',
       '-a', 'dummy',
       '--zt-norm',
-      '-vvv',
-      '-s', 'test_filelist',
+      '-vs', 'test_filelist',
       '--temp-directory', test_dir,
       '--result-directory', test_dir
   ]
@@ -275,7 +284,7 @@ def test_evaluate():
     '--roc', plots[0],
     '--det', plots[1],
     '--cmc', plots[2],
-    '-vvv',
+    '-v',
   ]
 
   # execute the script
@@ -312,10 +321,12 @@ def test_grid_search():
         '-s', 'test_grid_search',
         '-T', test_dir,
         '-R', test_dir,
+        '-v',
         '--', '--dry-run',
     ]
     from bob.bio.base.script.grid_search import main
-    main(parameters)
+    with Quiet():
+      main(parameters)
 
     # number of jobs should be 12
     assert bob.bio.base.script.grid_search.task_count == 6
@@ -333,9 +344,11 @@ def test_grid_search():
         '-R', test_dir,
         '-w', 'Job.txt',
         '-g', 'grid',
+        '-v',
         '--', '--dry-run',
     ]
-    main(parameters)
+    with Quiet():
+      main(parameters)
 
     # number of jobs should be 12
     assert bob.bio.base.script.grid_search.task_count == 6
@@ -351,11 +364,12 @@ def test_grid_search():
         '-T', test_dir,
         '-R', test_dir,
         '-w', 'Job.txt',
-        '-l', '4', '-L', '-1', '-vvv',
+        '-l', '4', '-L', '-1', '-v',
         '--', '--imports', 'bob.io.image',
-        '--dry-run'
+        '--dry-run',
     ]
-    main(parameters)
+    with Quiet():
+      main(parameters)
 
     # number of jobs should be 12
     assert bob.bio.base.script.grid_search.task_count == 6
@@ -408,7 +422,7 @@ def test_scripts():
         '-p', 'dummy',
         '-o', preprocessed_file,
         '-c', preprocessed_image,
-        '-vvv',
+        '-v',
     ]
     preprocess(parameters)
 
@@ -424,7 +438,7 @@ def test_scripts():
         '-e', 'dummy',
         '-E', extractor_file,
         '-o', extracted_file,
-        '-vvv',
+        '-v',
     ]
     extract(parameters)
 
@@ -439,7 +453,7 @@ def test_scripts():
         '-P', projector_file,
         '-E', enroller_file,
         '-o', model_file,
-        '-vvv',
+        '-v',
     ]
     enroll(parameters)
 
@@ -453,9 +467,10 @@ def test_scripts():
         '-a', 'dummy',
         '-P', projector_file,
         '-E', enroller_file,
-        '-vvv',
+        '-v',
     ]
-    score(parameters)
+    with Quiet():
+      score(parameters)
 
   finally:
     shutil.rmtree(test_dir)