diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 1.4.2
+
+* Perform `onLogout` before session cleaning [#923](https://github.com/yesodweb/yesod/pull/923)
+
 ## 1.4.1.3
 
 [Updated french translation of Yesod.Auth.Message. #904](https://github.com/yesodweb/yesod/pull/904)
diff --git a/Yesod/Auth.hs b/Yesod/Auth.hs
--- a/Yesod/Auth.hs
+++ b/Yesod/Auth.hs
@@ -295,9 +295,9 @@
            -> HandlerT master IO ()
 clearCreds doRedirects = do
     y <- getYesod
+    onLogout
     deleteSession credsKey
     when doRedirects $ do
-        onLogout
         redirectUltDest $ logoutDest y
 
 getCheckR :: AuthHandler master TypedContent
diff --git a/yesod-auth.cabal b/yesod-auth.cabal
--- a/yesod-auth.cabal
+++ b/yesod-auth.cabal
@@ -1,5 +1,5 @@
 name:            yesod-auth
-version:         1.4.1.3
+version:         1.4.2
 license:         MIT
 license-file:    LICENSE
 author:          Michael Snoyman, Patrick Brisbin
