diff --git a/package-source-builder/overlay/usr/bin/ci-license-scan b/package-source-builder/overlay/usr/bin/ci-license-scan
index eb19064a68a1e110e08f37d89a65f9fdcbeda86d..818e6fbe770ab9bdb88bd7d033f37374f44bf620 100755
--- a/package-source-builder/overlay/usr/bin/ci-license-scan
+++ b/package-source-builder/overlay/usr/bin/ci-license-scan
@@ -363,8 +363,9 @@ def main():
                 name = name[:-len(suffix)]
             foss_project = fossology.ApertisFossology(args.fossology_host, args.fossology_username, args.fossology_password)
             foss_project.upload(args.source_url, args.source_branch, name)
-            reuse_id, reuse_group = foss_project.get_previous_upload_analysis_ids(name)
-            foss_project.analyse(reuse_id, reuse_group)
+            group_id = foss_project.get_group_id()
+            reuse_id = foss_project.get_previous_upload_analysis_id(name, group_id)
+            foss_project.analyse(reuse_id, group_id)
             report = foss_project.get_report('dep5')
             print(report, file=f)
     # open for parsing as binary since copyrights may (incorrectly) contain binary data
diff --git a/package-source-builder/overlay/usr/bin/fossology.py b/package-source-builder/overlay/usr/bin/fossology.py
index 30ec54bf084ca0638483d5f1daf579314feacb7a..eed35230db020e17d291d30f14a38992588e012e 100755
--- a/package-source-builder/overlay/usr/bin/fossology.py
+++ b/package-source-builder/overlay/usr/bin/fossology.py
@@ -44,7 +44,13 @@ class ApertisFossology:
             print_err(".", end = '', flush = True)
             time.sleep(1)
 
-    def get_previous_upload_analysis_ids(self, name):
+    def get_group_id(self):
+        resp = self.session.get(f"{self.server}/jobs?upload={self.upload_id}")
+        if resp.status_code != 200:
+            raise Exception('GET /jobs?upload={} {}'.format(self.upload_id, resp.status_code))
+        return resp.json()[-1]["groupId"]
+
+    def get_previous_upload_analysis_id(self, name, group_id):
         last_deleted_upload_id = 0
         resp = self.session.get(f"{self.server}/jobs")
         if resp.status_code != 200:
@@ -54,11 +60,12 @@ class ApertisFossology:
             if job["name"] == "Delete":
                 last_deleted_upload_id = job["uploadId"]
             elif (job["name"] == name and
+                    job["groupId"] == group_id and
                     job["uploadId"] != self.upload_id and
                     job["uploadId"] != last_deleted_upload_id):
-                return job["uploadId"], job["groupId"]
+                return job["uploadId"]
 
-        return 0, 0
+        return 0
 
     def upload(self, url, branch, name):
         print_err("Uploading {} branch {}".format(url, branch))
@@ -183,9 +190,11 @@ if __name__ == "__main__":
 
     project.upload(source_url, source_branch, name)
 
-    reuse_id, reuse_group = project.get_previous_upload_analysis_ids(name)
+    group_id = project.get_group_id()
+
+    reuse_id = project.get_previous_upload_analysis_id(name, group_id)
 
-    project.analyse(reuse_id, reuse_group)
+    project.analyse(reuse_id, group_id)
 
     report = project.get_report('dep5')
     print(report)