diff --git a/meson.build b/meson.build
index a44dc631ed0784d3b90fcf907d7623622ff018b1..2b3d9fb0dcb600737193c69fb4033c7e991cdd18 100644
--- a/meson.build
+++ b/meson.build
@@ -1895,7 +1895,9 @@ endforeach
 git_exe = find_program('git', required : false)
 etags_exe = find_program('etags', required : false)
 
-if git_exe.found() and etags_exe.found()
+fs = import('fs')
+
+if fs.is_dir('.git') and git_exe.found() and etags_exe.found()
   all_files = run_command(git_exe,
                           [ '--git-dir=@0@/.git'.format(meson.project_source_root()),
                             'ls-files', '--recurse-submodules',