diff --git a/Control/Monad/Logger.hs b/Control/Monad/Logger.hs
--- a/Control/Monad/Logger.hs
+++ b/Control/Monad/Logger.hs
@@ -59,8 +59,8 @@
     ) where
 
 import Language.Haskell.TH.Syntax (Lift (lift), Q, Exp, Loc (..), qLocation)
-#if MIN_VERSION_fast_logger(0, 2, 0)
-import System.Log.FastLogger (LogStr, pushLogStr, ToLogStr (toLogStr), LoggerSet, newLoggerSet, defaultBufSize)
+#if MIN_VERSION_fast_logger(2, 0, 0)
+import System.Log.FastLogger (LogStr, pushLogStr, ToLogStr (toLogStr), LoggerSet, newLoggerSet, defaultBufSize, flushLogStr)
 import System.IO.Unsafe (unsafePerformIO)
 #define Handle LoggerSet
 import Data.Monoid (mempty, mappend)
@@ -319,7 +319,8 @@
               -> IO ()
 defaultOutput h loc src level msg =
 #if MIN_VERSION_fast_logger(0, 2, 0)
-    pushLogStr h $
+ do
+   pushLogStr h $
     "[" `mappend`
     (case level of
         LevelOther t -> toLogStr t
@@ -332,6 +333,7 @@
     " @(" `mappend`
     toLogStr (S8.pack fileLocStr) `mappend`
     ")\n"
+   flushLogStr h
   where
 #else
     S8.hPutStrLn h $ S8.concat bs
diff --git a/monad-logger.cabal b/monad-logger.cabal
--- a/monad-logger.cabal
+++ b/monad-logger.cabal
@@ -1,5 +1,5 @@
 name:                monad-logger
-version:             0.3.3.1
+version:             0.3.3.2
 synopsis:            A class of monads which can log messages.
 description:         This package uses template-haskell for determining source code locations of messages.
 homepage:            https://github.com/kazu-yamamoto/logger
