summary refs log tree commit diff
path: root/gnu/services.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/services.scm')
-rw-r--r--gnu/services.scm14
1 files changed, 8 insertions, 6 deletions
diff --git a/gnu/services.scm b/gnu/services.scm
index 5410d31971..109e050a23 100644
--- a/gnu/services.scm
+++ b/gnu/services.scm
@@ -343,12 +343,14 @@ used."
       ((head . tail)
        (let ((service clauses
                       (fold2 (lambda (clause service remainder)
-                               (match clause
-                                 ((kind proc properties)
-                                  (if (eq? kind (service-kind service))
-                                      (values (proc service) remainder)
-                                      (values service
-                                              (cons clause remainder))))))
+                               (if service
+                                   (match clause
+                                     ((kind proc properties)
+                                      (if (eq? kind (service-kind service))
+                                          (values (proc service) remainder)
+                                          (values service
+                                                  (cons clause remainder)))))
+                                   (values #f (cons clause remainder))))
                              head
                              '()
                              clauses)))