diff --git a/htest/test.hs b/htest/test.hs
index 0a31d3dcc5e11c2e81806b321348be4f6bc3bc64..8d71c247cc8a86e009595cdae33398ae4af5e1db 100644
--- a/htest/test.hs
+++ b/htest/test.hs
@@ -28,6 +28,7 @@ module Main(main) where
 import Data.Monoid (mappend)
 import Test.Framework
 import System.Environment (getArgs)
+import System.Log.Logger
 
 import Test.Ganeti.TestImports ()
 import Test.Ganeti.Attoparsec
@@ -120,4 +121,8 @@ main :: IO ()
 main = do
   ropts <- getArgs >>= interpretArgsOrExit
   let opts = maybe defOpts (defOpts `mappend`) $ ropt_test_options ropts
+  -- silence the logging system, so that tests can execute I/O actions
+  -- which create logs without polluting stderr
+  -- FIXME: improve this by allowing tests to use logging if needed
+  updateGlobalLogger rootLoggerName (setLevel EMERGENCY)
   defaultMainWithOpts allTests (ropts { ropt_test_options = Just opts })