diff --git a/src/gboml/gboml.lark b/src/gboml/gboml.lark
index 8938d67a13f0660f8d7cf442af3746b24d1e7139..886c3cbc12cce52b34a8546612be3769acd68897 100644
--- a/src/gboml/gboml.lark
+++ b/src/gboml/gboml.lark
@@ -106,8 +106,8 @@ dict_entry: rvalue ":" rvalue [loop]
 range: "[" expression ":" expression [":" expression] "]"
 
 // EXPRESSIONS
-?expression: substraction
-?substraction: _separated_list{sum, "-"}
+?expression: subtraction
+?subtraction: _separated_list{sum, "-"}
 ?sum: _separated_list{division, "+"}
 ?division: _separated_list{product, "/"}
 ?product: _separated_list{modulo, "*"}
diff --git a/src/gboml/parsing.py b/src/gboml/parsing.py
index 9c14e01c0dc9af20ba1ed5ecdc1dfb4a7f30b580..b896a8c51a1eadbd56eb1854d7477591e1883398 100644
--- a/src/gboml/parsing.py
+++ b/src/gboml/parsing.py
@@ -72,7 +72,7 @@ def _lark_to_gboml(tree: Tree, filename: Optional[str] = None) -> GBOMLGraph:
             "objective": Objective,
             "base_loop": BaseLoop,
             "implicit_loop": ImplicitLoop,
-            "substraction": op_transform(Operator.minus),
+            "subtraction": op_transform(Operator.minus),
             "sum": op_transform(Operator.plus),
             "exponent": op_transform(Operator.exponent),
             "product": op_transform(Operator.times),