diff --git a/predtuner/pipedbin.py b/predtuner/pipedbin.py
index 4aea660cfb508524772f46a8efc2d7c8c39cb46d..b8cf1730ba9c199e37f7ebb381e96aa359b439a8 100644
--- a/predtuner/pipedbin.py
+++ b/predtuner/pipedbin.py
@@ -309,8 +309,15 @@ class HPVMConfigBuilder:
     def _parse_ops(ops: List[str]) -> List[str]:
         types: List[str] = [None for _ in range(len(ops))]
         for k in ops:
-            ty, idx = k.split("_")
-            types[int(idx)] = ty
+            try:
+                ty, idx_s = k.rsplit("_", 1)
+                idx = int(idx_s)
+            except ValueError as e:
+                raise ValueError(
+                    f"Operator name {k} not understood. Original parsing error:\n"
+                    f"{e}"
+                )
+            types[idx] = ty
         if any(x is None for x in types):
             raise ValueError("Operator indice not consecutive")
         return types