diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm
index cd457026282b6add2ac20b1bffd8ce241593fd65..54bc6f5d507396220b75476167c95f5bf07d8695 100644
--- a/guix/gnu-maintenance.scm
+++ b/guix/gnu-maintenance.scm
@@ -237,8 +237,10 @@ (define (sans-extension tarball)
     (substring tarball 0 end)))
 
 (define %tarball-rx
-  ;; Note: .zip files are notably used for freefont-ttf.
-  (make-regexp "^(.+)-([0-9]|[^-])*(-src)?\\.(tar\\.|zip$)"))
+  ;; The .zip extensions is notably used for freefont-ttf.
+  ;; The "-src" pattern is for "TeXmacs-1.0.7.9-src.tar.gz".
+  ;; The "-gnu[0-9]" pattern is for "icecat-38.4.0-gnu1.tar.bz2".
+  (make-regexp "^([^.]+)-([0-9]|[^-])+(-(src|gnu[0-9]))?\\.(tar\\.|zip$)"))
 
 (define %alpha-tarball-rx
   (make-regexp "^.*-.*[0-9](-|~)?(alpha|beta|rc|cvs|svn|git)-?[0-9\\.]*\\.tar\\."))