diff --git a/hercules_opt/src/outline.rs b/hercules_opt/src/outline.rs
index 915b11c94d926997258d9a5d5b6fd7bd36d2600b..7a3348707770b9acdadc8c430f8ab945d62c1c4e 100644
--- a/hercules_opt/src/outline.rs
+++ b/hercules_opt/src/outline.rs
@@ -253,6 +253,10 @@ pub fn outline(
             if let Node::Phi { control, data } = &mut node
                 && *control == top_node
             {
+                for datum in data.iter_mut() {
+                    *datum = convert_id(*datum);
+                }
+
                 // If this node is a phi on the top node, we need to replace the
                 // inputs corresponding to outside partition predecessors with a
                 // single data input (with the corresponding control input of