diff --git a/hercules_opt/src/inline.rs b/hercules_opt/src/inline.rs
index 6f6df573bbc6d2cecaad9319eff8ca917244ec41..5ce9201e9d44618c60e909122d1b0f2f0183152b 100644
--- a/hercules_opt/src/inline.rs
+++ b/hercules_opt/src/inline.rs
@@ -216,8 +216,8 @@ fn inline_func(
                     // as the new references we just made in the first step. We
                     // actually want to institute all the updates
                     // *simultaneously*, hence the two step maneuver.
-                    let num_dcs = edit.num_dynamic_constants();
-                    for (dc_a, dc_n) in zip(dcs_a, num_dcs..) {
+                    let first_dc = edit.num_dynamic_constants() + 1;
+                    for (dc_a, dc_n) in zip(dcs_a, first_dc..) {
                         substitute_dynamic_constants_in_node(
                             *dc_a,
                             DynamicConstantID::new(dc_n),
@@ -225,7 +225,7 @@ fn inline_func(
                             &mut edit,
                         );
                     }
-                    for (dc_n, dc_b) in zip(num_dcs.., dcs_b.iter()) {
+                    for (dc_n, dc_b) in zip(first_dc.., dcs_b.iter()) {
                         substitute_dynamic_constants_in_node(
                             DynamicConstantID::new(dc_n),
                             *dc_b,