diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm
index 1e8f3afbca824ca9a72bfe5057d891a6b8b5bfc3..fd045b1f1a37a14870693f2bba86408a20d65968 100644
--- a/gnu/packages/gps.scm
+++ b/gnu/packages/gps.scm
@@ -49,12 +49,12 @@ (define-public gpsbabel
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags '("--with-zlib=system")
-       #:phases (alist-cons-before
-                 'configure 'pre-configure
-                 (lambda _
-                   (chdir "gpsbabel"))
-                 ;; TODO: "make doc" requires Docbook & co.
-                 %standard-phases)
+       #:phases
+       (modify-phases %standard-phases
+        (add-before 'configure 'pre-configure
+                    (lambda _
+                      (chdir "gpsbabel"))))
+                    ;; TODO: "make doc" requires Docbook & co.
 
        ;; On i686, 'raymarine.test' fails because of a rounding error:
        ;; <http://hydra.gnu.org/build/133040>.  As a workaround, disable tests