diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,10 @@
+concurrent-output (1.10.8) unstable; urgency=medium
+
+  * Fix bug in waitDisplayChange that could result in an STM deadlock
+    exception.
+
+ -- Joey Hess <id@joeyh.name>  Mon, 19 Nov 2018 17:01:12 -0400
+
 concurrent-output (1.10.7) unstable; urgency=medium
 
   * Allow stm-2.5.
diff --git a/System/Console/Regions.hs b/System/Console/Regions.hs
--- a/System/Console/Regions.hs
+++ b/System/Console/Regions.hs
@@ -477,7 +477,7 @@
 	waitchange c b = do
 		change <- readTChan c
 		case change of
-			DisplayChangeBarrier b' | b' == b -> return ()
+			DisplayChangeBarrier b' | b' >= b -> return ()
 			_ -> waitchange c b
 
 displayThread :: Bool -> TSem -> IO ()
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.10.7
+Version: 1.10.8
 Cabal-Version: >= 1.8
 License: BSD2
 Maintainer: Joey Hess <id@joeyh.name>
