diff --git a/tests.py b/tests.py
index 03b41cf6e13c1cb45107ddce51fc8b0b093d4fcf..66761b545f3ed382eb96dd203bcdc245d7c69033 100644
--- a/tests.py
+++ b/tests.py
@@ -38,6 +38,25 @@ def test_prepare_environment(tmp_path):
     # check that the test directory does not exist
     assert not script_dir.exists()
 
+    # prepare_environment expects to be executed in git repository
+    # (mpsd-software-environments). It queries the commit on which we are to
+    # log that information. For this to work, we need to execute the command
+    # within a directory tree that has a git repository at the same or high
+    # level. Let's create one:
+
+    # create directory first
+    script_dir.mkdir(parents=True)
+    # then create git repository:
+    with mod.os_chdir(str(script_dir)):
+        subprocess.run("git init .", shell=True, check=True)
+        subprocess.run("echo 'fake content' > readme.txt", shell=True, check=True)
+        subprocess.run("git add readme.txt", shell=True, check=True)
+        subprocess.run("pwd", shell=True)
+        subprocess.run(
+            'git commit -m "first commit" readme.txt', shell=True, check=True
+        )
+
+    # now call the function we want to test
     result = mod.prepare_environment(
         mpsd_release=mpsd_release_to_test, script_dir=(script_dir)
     )