diff --git a/aclocal.m4 b/aclocal.m4
index 832eb5441de625b4159e0a0a0da5cb29ba606678..50cb1bbc7d13b1a750db28a343f77fa4abc6183a 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1036,6 +1036,8 @@ if test ! -f compiler/parser/Parser.hs || test ! -f compiler/cmm/CmmParse.hs
 then
     FP_COMPARE_VERSIONS([$fptools_cv_happy_version],[-lt],[1.19.10],
       [AC_MSG_ERROR([Happy version 1.19.10 or later is required to compile GHC.])])[]
+    FP_COMPARE_VERSIONS([$fptools_cv_happy_version],[-ge],[1.20.0],
+      [AC_MSG_ERROR([Happy version 1.19 is required to compile GHC.])])[]
 fi
 HappyVersion=$fptools_cv_happy_version;
 AC_SUBST(HappyVersion)
diff --git a/hadrian/hadrian.cabal b/hadrian/hadrian.cabal
index 8bb041d8becdaac48c5a353b79f449252fb2f5d2..cf0bcc481aaecc659ee1d263627a7027ae4e8edb 100644
--- a/hadrian/hadrian.cabal
+++ b/hadrian/hadrian.cabal
@@ -147,7 +147,7 @@ executable hadrian
                        , transformers         >= 0.4     && < 0.6
                        , unordered-containers >= 0.2.1   && < 0.3
     build-tools:         alex  >= 3.1
-                       , happy >= 1.19.10
+                       , happy >= 1.19.10 && < 1.20
     ghc-options:       -Wall
                        -Wincomplete-record-updates
                        -Wredundant-constraints