diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm
index 377bec278ebcdd68e01615c60c0206b17f9a5ff1..00af35d3df31c517e72f1e3ad954bb7a76ab275e 100644
--- a/gnu/build/file-systems.scm
+++ b/gnu/build/file-systems.scm
@@ -348,7 +348,7 @@ (define* (mount-file-system spec #:key (root "/root"))
        ;; in the case of a bind mount, a regular file may be needed.
        (if (and (= MS_BIND (logand flags MS_BIND))
                 (regular-file? source))
-           (begin
+           (unless (file-exists? mount-point)
              (mkdir-p (dirname mount-point))
              (call-with-output-file mount-point (const #t)))
            (mkdir-p mount-point))