diff --git a/.circleci/config.yml b/.circleci/config.yml
index 494208c068b8637d73c63a9cebfa138f5c0995b7..72f66bc8c7a659eba98654addf5be301c1e51360 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -147,7 +147,7 @@ jobs:
           name: "Report Coverage"
           command: |
             nix-shell -p 'python.withPackages (ps: [ ps.codecov ])' --run \
-              'codecov --file ./result-doc/share/doc/*/.coverage'
+              'cp ./result-doc/share/doc/*/.coverage ./; coverage combine; codecov --file .coverage'
 
 workflows:
   version: 2
diff --git a/.coveragerc b/.coveragerc
index ec19cb88f397c327bac1afa6a195073f305e3e3d..f8b5bf4648e5a0e034c37e48816ad9970c84871c 100644
--- a/.coveragerc
+++ b/.coveragerc
@@ -3,4 +3,9 @@ source =
     _zkapauthorizer
     twisted.plugins.zkapauthorizer
 
+[paths]
+source =
+    src/
+    /nix/store/*/lib/python*/site-packages/
+
 branch = True