diff --git a/guix/derivations.scm b/guix/derivations.scm
index 4be316882490b1bdbf51f0632bfe4dba395419b5..7fc8734238a01fc9273d064add22bfb0db94cad3 100644
--- a/guix/derivations.scm
+++ b/guix/derivations.scm
@@ -498,7 +498,7 @@ (define* (imported-files store files
                                                       (mkdir ,tail))))))
                                      `((symlink ,store-path ,final-path)))))
                            files))))
-    (build-expression->derivation store name (%current-system)
+    (build-expression->derivation store name system
                                   builder files
                                   #:guile-for-build guile)))
 
@@ -641,11 +641,15 @@ (define %build-inputs
                                              (_ `(,exp))))))
                                       (map second inputs)))
          (mod-drv  (and (pair? modules)
-                        (imported-modules store modules #:guile guile-drv)))
+                        (imported-modules store modules
+                                          #:guile guile-drv
+                                          #:system system)))
          (mod-dir  (and mod-drv
                         (derivation-path->output-path mod-drv)))
          (go-drv   (and (pair? modules)
-                        (compiled-modules store modules #:guile guile-drv)))
+                        (compiled-modules store modules
+                                          #:guile guile-drv
+                                          #:system system)))
          (go-dir   (and go-drv
                         (derivation-path->output-path go-drv))))
     (derivation store name system guile