diff --git a/guix/build/graft.scm b/guix/build/graft.scm
index d29e671c67b7e8f943f66383174f39ca19853e56..0a9cd3260c4d2f112d08a7a6adc270fc556c59bf 100644
--- a/guix/build/graft.scm
+++ b/guix/build/graft.scm
@@ -21,6 +21,7 @@ (define-module (guix build graft)
   #:use-module (rnrs bytevectors)
   #:use-module (rnrs io ports)
   #:use-module (ice-9 match)
+  #:use-module (ice-9 threads)
   #:export (replace-store-references
             rewrite-directory))
 
@@ -117,6 +118,7 @@ (define (rewrite-leaf file)
         (else
          (error "unsupported file type" stat)))))
 
-  (for-each rewrite-leaf (find-files directory)))
+  (n-par-for-each (parallel-job-count)
+                  rewrite-leaf (find-files directory)))
 
 ;;; graft.scm ends here