diff --git a/build/pin-images.py b/build/pin-images.py
index f711f84..30700c3 100755
--- a/build/pin-images.py
+++ b/build/pin-images.py
@@ -61,6 +61,8 @@
 @functools.cache
 def get_pinned_image(image_src):
     image_ref = reference.Reference.parse(image_src)
+    if image_ref.domain() != "harbor.atmosphere.dev":
+        image_ref = reference.Reference.parse("harbor.atmosphere.dev/" + image_src)
 
     if (
         image_ref.domain() == "registry.atmosphere.dev"
@@ -127,7 +129,10 @@
     else:
         digest = get_digest(image_ref)
 
-    return f"{image_ref.domain()}/{image_ref.path()}:{image_ref['tag']}@{digest}"
+    original_ref = reference.Reference.parse(image_src)
+    return (
+        f"{original_ref.domain()}/{original_ref.path()}:{original_ref['tag']}@{digest}"
+    )
 
 
 def main():
@@ -156,7 +161,9 @@
             .replace("{{ atmosphere_release }}", data["atmosphere_release"])
             .replace("{{ atmosphere_image_prefix }}", "")
         )
-        pinned_image = get_pinned_image(image_src)
+        pinned_image = get_pinned_image(image_src).replace(
+            "harbor.atmosphere.dev", "registry.atmosphere.dev"
+        )
 
         LOG.info("Pinning image %s from %s to %s", image, image_src, pinned_image)
         data["_atmosphere_images"][image] = "{{ atmosphere_image_prefix }}%s" % (
