diff --git a/gso/workflows/iptrunk/create_iptrunk.py b/gso/workflows/iptrunk/create_iptrunk.py
index e347d111c7689117816a7d60ec04d4571951fd01..b54f095758b5da8c10724e3fa9bc7ec279f87542 100644
--- a/gso/workflows/iptrunk/create_iptrunk.py
+++ b/gso/workflows/iptrunk/create_iptrunk.py
@@ -410,7 +410,7 @@ def register_dns_records(subscription: IptrunkInactive) -> State:
             msg = f"Missing IP resources in trunk, cannot allocate DNS record for side {fqdn}!"
             raise ValueError(msg)
         ipv4_addr = subscription.iptrunk.iptrunk_ipv4_network[index]
-        ipv6_addr = subscription.iptrunk.iptrunk_ipv6_network[index]
+        ipv6_addr = subscription.iptrunk.iptrunk_ipv6_network[index + 1]
 
         infoblox.create_host_by_ip(fqdn, ipv4_addr, ipv6_addr, "TRUNK", str(subscription.subscription_id))
 
diff --git a/gso/workflows/iptrunk/migrate_iptrunk.py b/gso/workflows/iptrunk/migrate_iptrunk.py
index a64284911c78736a174783de687b948abb863239..250535709e528ef7bf12296c4b92685cf931f0e9 100644
--- a/gso/workflows/iptrunk/migrate_iptrunk.py
+++ b/gso/workflows/iptrunk/migrate_iptrunk.py
@@ -548,7 +548,8 @@ def update_ipam(subscription: Iptrunk, replace_index: int, new_node: Router, new
     Move the DNS record pointing to the old side of the trunk, to the new side.
     """
     v4_addr = subscription.iptrunk.iptrunk_ipv4_network[replace_index]
-    v6_addr = subscription.iptrunk.iptrunk_ipv6_network[replace_index]
+    # IPv6 networks start with an unused address we need to skip past.
+    v6_addr = subscription.iptrunk.iptrunk_ipv6_network[replace_index + 1]
 
     #  Out with the old
     try: