diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml
index 3739f1e..7afb52f 100644
--- a/.github/workflows/e2e-tests.yml
+++ b/.github/workflows/e2e-tests.yml
@@ -103,3 +103,9 @@ jobs:
 
           # We run with sudo to be able to access /dev/kvm
           sudo -E ./scripts/e2e-tests.sh
+      - uses: actions/upload-artifact@v3
+        if: failure()
+        with:
+          name: ${{ matrix.label }}-test.logs.zip
+          path: tests/**/logs/*
+          if-no-files-found: warn
\ No newline at end of file
diff --git a/tests/encryption_test.go b/tests/encryption_test.go
index f072e23..0793d83 100644
--- a/tests/encryption_test.go
+++ b/tests/encryption_test.go
@@ -47,6 +47,7 @@ var _ = Describe("kcrypt encryption", func() {
 	})
 
 	AfterEach(func() {
+		vm.GatherLog("/run/immucore/immucore.log")
 		err := vm.Destroy(func(vm VM) {
 			// Stop TPM emulator
 			tpmPID, err := os.ReadFile(path.Join(vm.StateDir, "tpm", "pid"))