diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm
index 992acdbca2f50c8c1834ee72e8a6ec979ce3c55b..209ebf9752dc701600a45e2358053b318a13bf29 100644
--- a/guix/scripts/system.scm
+++ b/guix/scripts/system.scm
@@ -242,7 +242,7 @@ (define-syntax-rule (with-shepherd-error-handling mbody ...)
   (lambda (store)
     (warn-on-system-error
      (guard (c ((shepherd-error? c)
-                (report-shepherd-error c)))
+                (values (report-shepherd-error c) store)))
        (values (run-with-store store (begin mbody ...))
                store)))))