diff --git a/sexp-grammar.cabal b/sexp-grammar.cabal
--- a/sexp-grammar.cabal
+++ b/sexp-grammar.cabal
@@ -1,5 +1,5 @@
 name:                sexp-grammar
-version:             2.2.0
+version:             2.2.1
 license:             BSD3
 license-file:        LICENSE
 author:              Yevhen Smolanka, Sergey Vinokurov
@@ -47,7 +47,7 @@
     , bytestring         >=0.10  && <0.11
     , containers         >=0.5.5 && <0.7
     , deepseq            >=1.0   && <2.0
-    , invertible-grammar >=0.1   && <0.2
+    , invertible-grammar >=0.1.3 && <0.2
     , prettyprinter      >=1     && <1.8
     , recursion-schemes  >=5.0   && <5.2
     , scientific         >=0.3.3 && <0.4
diff --git a/src/Language/Sexp/Parser.y b/src/Language/Sexp/Parser.y
--- a/src/Language/Sexp/Parser.y
+++ b/src/Language/Sexp/Parser.y
@@ -1,5 +1,7 @@
 {
+{-# LANGUAGE CPP               #-}
 {-# LANGUAGE OverloadedStrings #-}
+
 {-# OPTIONS_GHC -fno-warn-incomplete-patterns #-}
 {-# OPTIONS_GHC -fno-warn-missing-signatures  #-}
 {-# OPTIONS_GHC -fno-warn-name-shadowing      #-}
@@ -18,7 +20,12 @@
 import Data.Text (Text)
 import qualified Data.Text as T
 import Data.Text.Prettyprint.Doc
+
+#if MIN_VERSION_prettyprinter(1,7,0)
+import qualified Data.Text.Prettyprint.Doc.Render.String as Render
+#else
 import qualified Data.Text.Prettyprint.Doc.Render.ShowS as Render
+#endif
 
 import Language.Sexp.Token
 import Language.Sexp.Lexer
diff --git a/src/Language/SexpGrammar.hs b/src/Language/SexpGrammar.hs
--- a/src/Language/SexpGrammar.hs
+++ b/src/Language/SexpGrammar.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE CPP           #-}
 {-# LANGUAGE RankNTypes    #-}
 {-# LANGUAGE Safe          #-}
 {-# LANGUAGE TypeOperators #-}
