diff --git a/parser.py b/parser.py
index db2ef00d494f2fecccb405cc8b3fdf09d4e9c9fd..16f45fe6c0b9142aa463294ea8b6f1e3937f16ec 100644
--- a/parser.py
+++ b/parser.py
@@ -408,6 +408,16 @@ class Fork(Element):
             return self
         return self.parent.get_top()
 
+    def get_top_number(self):
+        if self.is_root():
+            return 1
+        top = self.get_top()
+        tops = [child
+            for child in top.parent.children
+            if isinstance(child, Fork)
+        ]
+        return tops.index(top) + 1
+
     def get_maxdepth(self):
         child_depths = [
             child.get_maxdepth()
diff --git a/templates/decision.tex b/templates/decision.tex
index c61cb9e28109b3f64aed3172eab750a0089aae90..323f818fecec9e2b433aebbee808a87aafb600d0 100644
--- a/templates/decision.tex
+++ b/templates/decision.tex
@@ -37,6 +37,7 @@
     \item \VAR{decision.content|escape_tex}
 \end{itemize}
 
+\setcounter{section}{\VAR{top.get_top_number() - 1}}
 \TOP{\VAR{top.name|escape_tex}}
 \VAR{top.render(render_type=render_type, level=0, show_private=show_private, protocol=protocol)}