diff --git a/Text/Highlighting/Kate/Common.hs b/Text/Highlighting/Kate/Common.hs
--- a/Text/Highlighting/Kate/Common.hs
+++ b/Text/Highlighting/Kate/Common.hs
@@ -203,7 +203,7 @@
 
 matchRegex :: Regex -> String -> KateParser (Maybe [String])
 #ifdef _PCRE_LIGHT
-matchRegex r s = match r s [exec_notempty]
+matchRegex r s = return $ match r s [exec_notempty]
 #else
 matchRegex r s = case unsafePerformIO (regexec r s) of
                       Right (Just (_, mat, _ , capts)) -> return $ Just (mat : capts)
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,3 +1,14 @@
+highlighting-kate 0.5.0.3 (12 Feb 2012)
+
+  * Fixed compilation with the 'pcre-light' flag.
+
+highlighting-kate 0.5.0.2 (08 Feb 2012)
+
+  * Fixed bug with lookahead parsers.
+    Previously they didn't consume input, which caused an error
+    starting with parsec 3.1.2 -- even though in fact there was
+    no threat of infinite looping.
+
 highlighting-kate 0.5.0.1 (31 Jan 2012)
 
   * Give table.sourceCode width of 100%, for consistency
diff --git a/highlighting-kate.cabal b/highlighting-kate.cabal
--- a/highlighting-kate.cabal
+++ b/highlighting-kate.cabal
@@ -1,5 +1,5 @@
 Name:                highlighting-kate
-Version:             0.5.0.2
+Version:             0.5.0.3
 Cabal-Version:       >= 1.6
 Build-Type:          Simple
 Category:            Text
@@ -142,7 +142,7 @@
   else
     Build-Depends:   base < 3
   if flag(pcre-light)
-    Build-depends:   pcre-light
+    Build-depends:   pcre-light >= 4.0 && < 4.1
     cpp-options:     -D_PCRE_LIGHT
   else
     Build-depends:   regex-pcre-builtin
