diff --git a/.gitlab/server.gitlab-ci.yml b/.gitlab/server.gitlab-ci.yml
index f23305647b2961685d75762cd13b001e12e478ca..38b147e5a5e371a02b3b7bb7273ff3e43a79e149 100644
--- a/.gitlab/server.gitlab-ci.yml
+++ b/.gitlab/server.gitlab-ci.yml
@@ -38,8 +38,8 @@ server:test:
     - cd server
     - source env/bin/activate
     - pytest --cov app tests/
-    - cd ..
     - coverage xml
+    - python coverage_report.py
   artifacts:
     reports:
-      cobertura: coverage.xml
+      cobertura: server/coverage.xml
diff --git a/server/coverage_report.py b/server/coverage_report.py
new file mode 100644
index 0000000000000000000000000000000000000000..209d8d6e84a1f5c12f321cbae278b156bbb0b519
--- /dev/null
+++ b/server/coverage_report.py
@@ -0,0 +1,10 @@
+import xml.etree.ElementTree as et
+
+tree = et.parse('coverage.xml')
+root = tree.getroot()
+for package in tree.find('.//packages'):
+  package.set('name', 'server.' + package.attrib.get('name'))
+  for package_class in package.find('classes'):
+    package_class.set('name', 'server.' + package_class.attrib.get('name'))
+    package_class.set('filename', 'server/' + package_class.attrib.get('filename'))
+tree.write('coverage.xml')