diff --git a/gso/migrations/versions/2025-05-28_90547df711c3_backfill_iptrunk_config_version.py b/gso/migrations/versions/2025-05-28_90547df711c3_backfill_iptrunk_config_version.py
index 4915aadf90b847b0479f80afdc47a62f548fa81b..a3746777eb1e4c348a933b8fc1f3aded66f61919 100644
--- a/gso/migrations/versions/2025-05-28_90547df711c3_backfill_iptrunk_config_version.py
+++ b/gso/migrations/versions/2025-05-28_90547df711c3_backfill_iptrunk_config_version.py
@@ -18,15 +18,22 @@ depends_on = None
 def upgrade() -> None:
     conn = op.get_bind()
     conn.execute(sa.text("""
-WITH rt_id AS (
-    SELECT resource_type_id FROM resource_types WHERE resource_type = 'iptrunk_config_version'
-)
-INSERT INTO subscription_instance_values (subscription_instance_id, resource_type_id, value)
-SELECT si.subscription_instance_id, rt_id.resource_type_id, '1.0'
-FROM rt_id, subscription_instances si
-WHERE si.product_block_id = (
-    SELECT product_block_id FROM product_blocks WHERE name = 'IptrunkBlock'
-);
+    WITH rt_id AS (
+        SELECT resource_type_id FROM resource_types WHERE resource_type = 'iptrunk_config_version'
+    )
+    INSERT INTO subscription_instance_values (subscription_instance_id, resource_type_id, value)
+    SELECT si.subscription_instance_id, rt_id.resource_type_id, '1.0'
+    FROM rt_id, subscription_instances si
+    WHERE si.product_block_id = (
+        SELECT product_block_id FROM product_blocks WHERE name = 'IptrunkBlock'
+    )
+    AND NOT EXISTS (
+        SELECT 1 
+        FROM subscription_instance_values siv
+        WHERE 
+            siv.subscription_instance_id = si.subscription_instance_id
+            AND siv.resource_type_id = rt_id.resource_type_id
+    );
     """))