diff --git a/guix/scripts/system/search.scm b/guix/scripts/system/search.scm
index 7229c60a023e6f083f37c4a22625f271ada62b44..955cdd1e95f8358394bdeba910bbc97f1ea55933 100644
--- a/guix/scripts/system/search.scm
+++ b/guix/scripts/system/search.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -59,10 +60,8 @@ (define (service-type-default-shepherd-services type)
 
 (define (service-type-shepherd-names type)
   "Return the default names of Shepherd services created for TYPE."
-  (match (map shepherd-service-provision
-              (service-type-default-shepherd-services type))
-    (((names . _) ...)
-     names)))
+  (append-map shepherd-service-provision
+              (service-type-default-shepherd-services type)))
 
 (define* (service-type->recutils type port
                                  #:optional (width (%text-width))