diff --git a/guix/ui.scm b/guix/ui.scm
index c232b3267447ec2ff227c667bcc457142d8e592a..dcad55e72e014dd0746e4653173ee8142a6f9612 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -194,9 +194,9 @@ (define (call-with-error-handling thunk)
     ;; Catch EPIPE and the likes.
     (catch 'system-error
       thunk
-      (lambda args
-        (leave (_ "~a~%")
-               (strerror (system-error-errno args)))))))
+      (lambda (key proc format-string format-args . rest)
+        (leave (_ "~a: ~a~%") proc
+               (apply format #f format-string format-args))))))
 
 (define (read/eval str)
   "Read and evaluate STR, raising an error if something goes wrong."