diff --git a/protoparser.py b/protoparser.py
index 7e14f944f49f531f15ef47ba32f0fd25a8700146..cf90277614205cdf36487df33031861fea6936a7 100644
--- a/protoparser.py
+++ b/protoparser.py
@@ -397,8 +397,9 @@ class Remark(Element):
 
 
 class Fork(Element):
-    def __init__(self, is_top, name, parent, linenumber, children=None):
+    def __init__(self, is_top, name, parent, linenumber, children=None, is_extra=False):
         self.is_top = is_top
+        self.is_extra = is_extra
         self.name = name.strip() if name else None
         self.parent = parent
         self.linenumber = linenumber
@@ -428,6 +429,9 @@ class Fork(Element):
         if level == 0 and self.name == "Todos" and not show_private:
             return ""
         if render_type == RenderType.latex:
+            if self.is_extra:
+                return r"\textit{[Dieser Tagesordnungspunkt wird in einem eigenem PDF exportiert.]}"
+
             begin_line = r"\begin{itemize}"
             end_line = r"\end{itemize}"
             content_parts = []
@@ -592,11 +596,17 @@ class Fork(Element):
         linenumber = Element.parse_inner(match, current, linenumber)
         topname = match.group("topname")
         name = match.group("name")
+        extra = match.group("extra")
+
         is_top = False
+        is_extra = False
         if topname is not None:
             is_top = True
             name = topname
-        element = Fork(is_top, name, current, linenumber)
+            if extra is not None:
+                is_extra = True
+
+        element = Fork(is_top, name, current, linenumber, is_extra=is_extra)
         current = Element.parse_outer(element, current)
         return current, linenumber
 
@@ -613,7 +623,7 @@ class Fork(Element):
         self.children.append(element)
 
     PATTERN = (
-        r"\s*(?<name>(?:[^{};\n])+)?\n?\s*{(?:TOP\h*(?<topname>[^;{}\n]+))?")
+        r"\s*(?<name>(?:[^{};\n])+)?\n?\s*{(?:(?<extra>!)?TOP\h*(?<topname>[^;{}\n]+))?")
     END_PATTERN = r"\s*};?"