diff --git a/hercules_ir/src/ir.rs b/hercules_ir/src/ir.rs
index e8dfc2808795ec2fb59372991cc8db7950b4251c..f96cc10c003315aaab022d69aaad32838ec53cf3 100644
--- a/hercules_ir/src/ir.rs
+++ b/hercules_ir/src/ir.rs
@@ -323,9 +323,6 @@ pub enum Schedule {
     // backedge can be removed, and the reduce code can be merged into the
     // parallel code.
     ParallelReduce,
-    // This fork-join has no impeding control flow and the fork has a constant
-    // factor.
-    Vectorizable,
     // This reduce can be re-associated. This may lower a sequential dependency
     // chain into a reduction tree.
     MonoidReduce,
diff --git a/hercules_opt/src/schedule.rs b/hercules_opt/src/schedule.rs
index 7ecf07a424a07d0430bf23cfab2c991384f7c59d..53fc3b1b28f767ebaa933c89cd73f4f67fc41b5c 100644
--- a/hercules_opt/src/schedule.rs
+++ b/hercules_opt/src/schedule.rs
@@ -120,31 +120,6 @@ pub fn infer_parallel_reduce(
     }
 }
 
-/*
- * Infer vectorizable fork-joins. Just check that there are no control nodes
- * between a fork and its join and the factor is a constant.
- */
-pub fn infer_vectorizable(editor: &mut FunctionEditor, fork_join_map: &HashMap<NodeID, NodeID>) {
-    for id in editor.node_ids() {
-        let func = editor.func();
-        if !func.nodes[id.idx()].is_join() {
-            continue;
-        }
-
-        let u = get_uses(&func.nodes[id.idx()]).as_ref()[0];
-        if let Some(join) = fork_join_map.get(&u)
-            && *join == id
-        {
-            let factors = func.nodes[u.idx()].try_fork().unwrap().1;
-            if factors.len() == 1
-                && evaluate_dynamic_constant(factors[0], &editor.get_dynamic_constants()).is_some()
-            {
-                editor.edit(|edit| edit.add_schedule(u, Schedule::Vectorizable));
-            }
-        }
-    }
-}
-
 /*
  * Infer monoid reduction loops. Exactly one of the associative operation's
  * operands must be the Reduce node, and all other operands must not be in the
diff --git a/juno_scheduler/src/compile.rs b/juno_scheduler/src/compile.rs
index fc2a729ec40db410f2beb7c148b50534b4d25312..c2194afed48d0c1c3c1affa198db6fcd64e2204a 100644
--- a/juno_scheduler/src/compile.rs
+++ b/juno_scheduler/src/compile.rs
@@ -160,7 +160,6 @@ impl FromStr for Appliable {
             "monoid" | "associative" => Ok(Appliable::Schedule(Schedule::MonoidReduce)),
             "parallel-fork" => Ok(Appliable::Schedule(Schedule::ParallelFork)),
             "parallel-reduce" => Ok(Appliable::Schedule(Schedule::ParallelReduce)),
-            "vectorize" => Ok(Appliable::Schedule(Schedule::Vectorizable)),
             "no-memset" | "no-reset" => Ok(Appliable::Schedule(Schedule::NoResetConstant)),
             "task-parallel" | "async-call" => Ok(Appliable::Schedule(Schedule::AsyncCall)),
 
diff --git a/juno_scheduler/src/pm.rs b/juno_scheduler/src/pm.rs
index 8db79b46199c4d9ab54e139590c1cc34a539f96e..410e614c97d44657437222a71fc8d1918ddba955 100644
--- a/juno_scheduler/src/pm.rs
+++ b/juno_scheduler/src/pm.rs
@@ -2050,7 +2050,6 @@ fn run_pass(
                 };
                 infer_parallel_reduce(&mut func, fork_join_map, reduce_cycles);
                 infer_parallel_fork(&mut func, fork_join_map);
-                infer_vectorizable(&mut func, fork_join_map);
                 infer_monoid_reduce(&mut func, reduce_cycles);
                 infer_no_reset_constants(&mut func, no_reset_constants);
                 changed |= func.modified();