diff --git a/guix/ui.scm b/guix/ui.scm
index 6e08a611cd4b6ce80cee81b1127b0b13b184f0ac..895179744badf688aa15d67f238c790854a9aa9f 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -623,6 +623,12 @@ (define (manifest-entry-output* entry)
                      (location->string (error-location c))
                      (gettext (condition-message c) %gettext-domain))
              (exit 1))
+            ((and (message-condition? c) (fix-hint? c))
+             (format (current-error-port) "~a: error: ~a~%"
+                     (program-name)
+                     (gettext (condition-message c) %gettext-domain))
+             (display-hint (condition-fix-hint c))
+             (exit 1))
             ((message-condition? c)
              ;; Normally '&message' error conditions have an i18n'd message.
              (leave (G_ "~a~%")