diff --git a/src/gitlab-tofu.sh b/src/gitlab-tofu.sh
index 4b98d618f4a3d9deba7cf0eaa8d0535797a34e18..ca78b3490cf3e365447f7d76ffabfb73d4db045b 100644
--- a/src/gitlab-tofu.sh
+++ b/src/gitlab-tofu.sh
@@ -217,6 +217,10 @@ fi
 
 # Misc variables
 var_file="${GITLAB_TOFU_VAR_FILE}"
+var_file_args=""
+if [ -n "${var_file}" ]; then
+  var_file_args="--var-file=${var_file}"
+fi
 
 # Helper functions
 # ================
@@ -282,8 +286,7 @@ tofu_init() {
   fi
 
   # shellcheck disable=SC2086 # We want to allow word splitting here for `init_flags`
-  tofu "${tf_chdir_opt}" init "${@}" -input=false ${tofu_init_reconfigure_flag} ${init_flags} \
-    1>&2 || $should_ignore_init_errors
+  tofu "${tf_chdir_opt}" init "${@}" -input=false ${tofu_init_reconfigure_flag} ${init_flags} ${var_file_args} 1>&2 || $should_ignore_init_errors
 }
 
 
@@ -357,11 +360,6 @@ if [ $sourced -eq 0 ]; then
   # Authenticate to private registry
   tofu_authenticate_private_registry
 
-  var_file_args=""
-  if [ -n "${var_file}" ]; then
-    var_file_args="--var-file=${var_file}"
-  fi
-
   case "${1}" in
     "apply")
       $should_do_implicit_init && tofu_init