diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index b59f258ae5070bade2c0a7cd02a404d5cb6aef0c..2314fdc4421790a74307d6e3a1559328d4290699 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -2704,6 +2704,12 @@ (define-public beets
            (lambda _
              (setenv "HOME" (string-append (getcwd) "/tmp"))
              #t))
+         (add-after 'unpack 'make-python3.7-compatible
+           (lambda _
+             ;; See <https://github.com/beetbox/beets/issues/2978>.
+             (substitute* "beets/autotag/hooks.py"
+              (("re\\._pattern_type") "re.Pattern"))
+             #t))
          (replace 'check
            (lambda _
              (invoke "nosetests" "-v"))))))