diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm
index b0427f75f4922d91b9d88d34bb4affebb0a9a7cb..0adb3bf1792627ab733349c3110b350349f23b02 100644
--- a/guix/scripts/lint.scm
+++ b/guix/scripts/lint.scm
@@ -146,11 +146,11 @@ (define (check-not-empty description)
   (define (check-texinfo-markup description)
     "Check that DESCRIPTION can be parsed as a Texinfo fragment.  If the
 markup is valid return a plain-text version of DESCRIPTION, otherwise #f."
-    (catch 'parser-error
-      (lambda () (texi->plain-text description))
-      (lambda (keys . args)
-        (emit-warning package (_ "Texinfo markup in description is invalid"))
-        #f)))
+    (unless (false-if-exception (texi->plain-text description))
+      (emit-warning package
+                    (_ "Texinfo markup in description is invalid")
+                    'description)
+      #f))
 
   (define (check-proper-start description)
     (unless (or (properly-starts-sentence? description)