diff options
-rw-r--r-- | gnu/services.scm | 14 |
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))) |