diff --git a/guix/scripts/lint.scm b/guix/scripts/lint.scm
index 83dde9a1a1b5aac4e99304b9f8a6beaca1879c46..b61373760ccb0b98dd76e1c4847fda62de6318ca 100644
--- a/guix/scripts/lint.scm
+++ b/guix/scripts/lint.scm
@@ -152,10 +152,15 @@ (define (check-patches package)
         (name      (package-name package))
         (full-name (package-full-name package)))
     (if (and patches
-             (any (lambda (patch)
+             (any (match-lambda
+                   ((? string? patch)
                     (let ((filename (basename patch)))
                       (not (or (eq? (string-contains filename name) 0)
-                               (eq? (string-contains filename full-name) 0)))))
+                               (eq? (string-contains filename full-name)
+                                    0)))))
+                   (_
+                    ;; This must be an <origin> or something like that.
+                    #f))
                   patches))
         (emit-warning package
           "file names of patches should start with the package name"