diff --git a/parser.py b/parser.py
index 9da40c77b66f8458f5869b1889170f513963c447..0e9bda496dd6873910c2ec53d84ac71989a44a0e 100644
--- a/parser.py
+++ b/parser.py
@@ -213,6 +213,11 @@ class Tag:
                 if not show_private:
                     return ""
                 return self.todo.render_latex(current_protocol=protocol)
+            elif self.name == "beschluss":
+                result = r"\textbf{{Beschluss:}} {}".format(self.decision.content)
+                if self.decision.category is not None:
+                    result = r"{} \textit{{({})}}".format(result, self.decision.category.name)
+                return result
             return r"\textbf{{{}:}} {}".format(escape_tex(self.name.capitalize()), escape_tex(";".join(self.values)))
         elif render_type == RenderType.plaintext:
             if self.name == "url":
diff --git a/tasks.py b/tasks.py
index 3a4dce3bbe6f8f2cdf5ec74ceab87c3625fe7f02..fd2323f952c59ae2e1a45dcd10fb73d406aab5b1 100644
--- a/tasks.py
+++ b/tasks.py
@@ -285,6 +285,7 @@ def parse_protocol_async_inner(protocol, encoded_kwargs):
         protocol.decisions.remove(decision)
     db.session.commit()
     decision_tags = [tag for tag in tags if tag.name == "beschluss"]
+    decisions_to_render = []
     for decision_tag in decision_tags:
         if len(decision_tag.values) == 0:
             error = protocol.create_error("Parsing", "Empty decision found.",
@@ -320,6 +321,9 @@ def parse_protocol_async_inner(protocol, encoded_kwargs):
             content=decision_content, category_id=decision_category_id)
         db.session.add(decision)
         db.session.commit()
+        decision_tag.decision = decision
+        decisions_to_render.append((decision, decision_tag))
+    for decision, decision_tag in decisions_to_render:
         decision_top = decision_tag.fork.get_top()
         decision_content = texenv.get_template("decision.tex").render(
             render_type=RenderType.latex, decision=decision,
diff --git a/templates/protocol.tex b/templates/protocol.tex
index 1c757ba97e7b69544eaf36bd9c12f9ea3b1c4beb..41a759ec41cbccf499b1dda103cb415d1773f6fc 100644
--- a/templates/protocol.tex
+++ b/templates/protocol.tex
@@ -38,7 +38,7 @@
 \begin{itemize}
 \ENV{if protocol.decisions|length > 0}
     \ENV{for decision in protocol.decisions}
-        \item \VAR{decision.content|escape_tex}
+        \item \VAR{decision.content|escape_tex}\ENV{if decision.category is not none and show_private} \textit{(\VAR{decision.category.name})}\ENV{endif}
     \ENV{endfor}
 \ENV{else}
 	\item Keine Beschlüsse