diff --git a/lambdabot-irc-plugins.cabal b/lambdabot-irc-plugins.cabal
--- a/lambdabot-irc-plugins.cabal
+++ b/lambdabot-irc-plugins.cabal
@@ -1,5 +1,5 @@
 name:                   lambdabot-irc-plugins
-version:                5.1.0.1
+version:                5.1.0.4
 
 license:                GPL
 license-file:           LICENSE
@@ -26,7 +26,7 @@
 
 build-type:             Simple
 cabal-version:          >= 1.8
-tested-with:            GHC == 7.8.4, GHC == 7.10.3
+tested-with:            GHC == 7.10.3, GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.1
 
 source-repository head
   type:                 git
diff --git a/src/Lambdabot/Plugin/IRC/IRC.hs b/src/Lambdabot/Plugin/IRC/IRC.hs
--- a/src/Lambdabot/Plugin/IRC/IRC.hs
+++ b/src/Lambdabot/Plugin/IRC/IRC.hs
@@ -138,7 +138,7 @@
 ------------------------------------------------------------------------
 --
 -- Lambdabot is mostly synchronous.  We have a main loop, which reads
--- messages and forks threads to execute commands (which write responces).
+-- messages and forks threads to execute commands (which write responses).
 -- OR
 -- We have a main loop which reads offline commands, and synchronously
 -- interprets them.
diff --git a/src/Lambdabot/Plugin/IRC/Log.hs b/src/Lambdabot/Plugin/IRC/Log.hs
--- a/src/Lambdabot/Plugin/IRC/Log.hs
+++ b/src/Lambdabot/Plugin/IRC/Log.hs
@@ -117,7 +117,7 @@
 cleanLogState :: Log ()
 cleanLogState =
     withMS $ \state writer -> do
-      io $ M.fold (\cs iom -> iom >> hClose (chanHandle cs)) (return ()) state
+      io $ M.foldr (\cs iom -> iom >> hClose (chanHandle cs)) (return ()) state
       writer M.empty
 
 -- | Fetch a channel from the internal map. Uses LB's fail if not found.
