diff --git a/hercules_opt/src/fork_transforms.rs b/hercules_opt/src/fork_transforms.rs
index cb0e7de48cb0efe01a586f9ae633f66cb61703a7..12b91194749b6125418b3639fa1d29d6b0397fc1 100644
--- a/hercules_opt/src/fork_transforms.rs
+++ b/hercules_opt/src/fork_transforms.rs
@@ -642,27 +642,15 @@ pub fn fork_coalesce_helper(
     }
 
     // Check for control between join-join and fork-fork
-    let Some(user) = editor
-        .get_users(outer_fork)
-        .filter(|node| editor.func().nodes[node.idx()].is_control())
-        .next()
-    else {
-        return None;
-    };
+    let (control, _) = editor.node(inner_fork).try_fork().unwrap();
 
-    if user != inner_fork {
+    if control != outer_fork {
         return None;
     }
 
-    let Some(user) = editor
-        .get_users(inner_join)
-        .filter(|node| editor.func().nodes[node.idx()].is_control())
-        .next()
-    else {
-        return None;
-    };
+    let control = editor.node(outer_join).try_join().unwrap();
 
-    if user != outer_join {
+    if control != inner_join {
         return None;
     }