diff --git a/scripts/handle_artifacts.py b/scripts/handle_artifacts.py
index 56cd75afd09e00f0b21ad7ed77b00dc263eec6f4..75946c48ee868f04a682649a0112487a48cb0dee 100755
--- a/scripts/handle_artifacts.py
+++ b/scripts/handle_artifacts.py
@@ -3,7 +3,7 @@ import argparse
 import logging
 import sys
 
-from gitlab import Gitlab
+from gitlab import Gitlab, GitlabCreateError
 
 import common
 from fullbuildpipeline import FullBuildPipeline
@@ -113,13 +113,19 @@ def main():
             #     job.keep_artifacts()
             job = manifest_project.jobs.get(pipelinejob.id, lazy=True)
 
-            if commit.id in keep_artifacts_sha:
-                print(f"keep_artifacts() for {pipelinejob.web_url}")
-                job.keep_artifacts()
-            else:
-                print(f"delete_artifacts() for {pipelinejob.web_url}")
-                job.delete_artifacts()
-
+            try:
+                if commit.id in keep_artifacts_sha:
+                    print(f"keep_artifacts() for {pipelinejob.web_url}")
+                    job.keep_artifacts()
+                else:
+                    print(f"delete_artifacts() for {pipelinejob.web_url}")
+                    job.delete_artifacts()
+            except GitlabCreateError as e:
+                print(f"Error: {e.error_message}")
+                if e.response_code == 404:
+                    continue
+                else:
+                    raise e
         print("—" * 80)