diff --git a/sheets/02_cpsat/DBST/README.md b/sheets/02_cpsat/DBST/README.md
index d59ef688c0e38c6057fd78696ab7b83e49d1e7c2..6686b63bda4aa2446749bcfd12a39bee82cfa298 100644
--- a/sheets/02_cpsat/DBST/README.md
+++ b/sheets/02_cpsat/DBST/README.md
@@ -16,7 +16,7 @@ The code can be found in [_solver.py](./_solver.py).
 ### Selection of Variables for the Model
 
 The most trivial variable selection would be to choose a boolean variable for every edge, that represents if the edge is in the solution.
-Unfortunately, with this representation it is difficult to efficiently contrain the edge set to be a tree.
+Unfortunately, with this representation it is difficult to efficiently constrain the edge set to be a tree.
 Instead we will work on an [arborescence](https://en.wikipedia.org/wiki/Arborescence_(graph_theory)) (instead of an undirected tree) and keep track of how deep a vertex is in this arborescence.
 You will often need to create auxiliary variables or constructs that allow you to enforce your constraints more efficiently.
 After some time, you acquire a set of such techniques that allow you to model nearly anything without much thinking.