diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,12 @@
+concurrent-output (1.9.1) unstable; urgency=medium
+
+  * Documentation fix: createProcessConcurrent has been available on
+    Windows since 1.7.5 but the docs said not.
+  * When all regions are closed, flush stdout so that the display gets
+    updated, which didn't happen before.
+
+ -- Joey Hess <id@joeyh.name>  Tue, 16 May 2017 16:49:43 -0400
+
 concurrent-output (1.9.0) unstable; urgency=medium
 
   * Replaced displayUpdateNotifier with a simpler and safer
diff --git a/System/Console/Concurrent/Internal.hs b/System/Console/Concurrent/Internal.hs
--- a/System/Console/Concurrent/Internal.hs
+++ b/System/Console/Concurrent/Internal.hs
@@ -261,8 +261,6 @@
 -- the process is instead run with its stdout and stderr
 -- redirected to a buffer. The buffered output will be displayed as soon
 -- as the output lock becomes free.
---
--- Currently only available on Unix systems, not Windows.
 createProcessConcurrent :: P.CreateProcess -> IO (Maybe Handle, Maybe Handle, Maybe Handle, ConcurrentProcessHandle) 
 createProcessConcurrent p
 	| willOutput (P.std_out p) || willOutput (P.std_err p) =
diff --git a/System/Console/Regions.hs b/System/Console/Regions.hs
--- a/System/Console/Regions.hs
+++ b/System/Console/Regions.hs
@@ -512,7 +512,7 @@
 			<*> consoleHeight
 		let onscreen = take (height - 1) . concat
 		let update snapshot@(_, _, newlines) = do
-			when isterm $ do
+			when isterm $
 				changedLines (onscreen origlines) (onscreen newlines)
 			return $ go snapshot origwidth origbarrier
 		next <- case change of
@@ -537,6 +537,7 @@
 				return $ return ()
 			DisplayChangeBarrier b ->
 				return $ go origsnapshot origwidth b
+		hFlush stdout
 		atomically $ writeTChan displayUpdateNotifier change
 		next
 
@@ -627,7 +628,6 @@
 #endif
 		cursorDown (sum (map (snd . fst) l'))
 		setCursorColumn 0
-		hFlush stdout
   where
 	l' = changeOffsets l 1 []
 
@@ -659,7 +659,6 @@
 	when isterm $ do
 		setCursorColumn 0 -- just in case the output lacked a newline
 		displayLines (reverse ls)
-	hFlush stdout
 
 displayLines :: [Text] -> IO ()
 displayLines = mapM_ $ \l -> do
diff --git a/concurrent-output.cabal b/concurrent-output.cabal
--- a/concurrent-output.cabal
+++ b/concurrent-output.cabal
@@ -1,5 +1,5 @@
 Name: concurrent-output
-Version: 1.9.0
+Version: 1.9.1
 Cabal-Version: >= 1.8
 License: BSD2
 Maintainer: Joey Hess <id@joeyh.name>
