summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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)))