diff --git a/CHANGES.txt b/CHANGES.txt
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,5 +1,7 @@
 Changelog for HLint (* = breaking change)
 
+2.1.21, released 2019-05-19
+    #637, temporary workaround for GHC parser segfaults
 2.1.20, released 2019-05-15
 *   Fix a dumb break in the API on parseModuleEx
 2.1.19, released 2019-05-14
diff --git a/hlint.cabal b/hlint.cabal
--- a/hlint.cabal
+++ b/hlint.cabal
@@ -1,7 +1,7 @@
 cabal-version:      >= 1.18
 build-type:         Simple
 name:               hlint
-version:            2.1.20
+version:            2.1.21
 license:            BSD3
 license-file:       LICENSE
 category:           Development
diff --git a/src/HSE/All.hs b/src/HSE/All.hs
--- a/src/HSE/All.hs
+++ b/src/HSE/All.hs
@@ -225,10 +225,13 @@
             (ParseFailed sl msg, pfailed) ->
                 failOpParseModuleEx ppstr flags file str sl msg $ fromPFailed pfailed
     where
-        fromPFailed (PFailed x) = Just x
+        -- TEMPORARY HACK TO AVOID EVALUATING parseFileGhcLib
+        -- see https://github.com/ndmitchell/hlint/issues/637
+        -- fromPFailed (PFailed x) = Just x
         fromPFailed _ = Nothing
 
-        fromPOk (POk _ x) = Just x
+        -- TEMPORARY HACK
+        -- fromPOk (POk _ x) = Just x
         fromPOk _ = Nothing
 
         fixity = fromMaybe [] $ fixities $ hseFlags flags
