diff --git a/doc/lfun/UnregisterEvent b/doc/lfun/UnregisterEvent
index 0de361a..6d9bfb7 100644
--- a/doc/lfun/UnregisterEvent
+++ b/doc/lfun/UnregisterEvent
@@ -1,49 +1,79 @@
 
-FUNKTION:
-     int UnregisterEvent(string eid, object listener);
+UnregisterEvent()
+*****************
 
-DEFINIERT IN:
-     /p/daemon/eventd.c
-DEKLARIERT IN:
-     /sys/events.h
 
-ARGUMENTE:
-     string eid,
-       Die ID des Events, vom dem man sich abmelden will.
-     object listener,
-       Das Objekt, das als Lauscher ausgetragen werden soll.
+FUNKTION
+========
 
-BESCHREIBUNG:
-     Das Objekt 'listener' wird als Lauscher dieses Events ausgetragen. Ab
-     diesem Moment wird es bei Events vom Typ 'eid' nicht mehr informiert.     
+   int UnregisterEvent(string eid, object listener);
 
-     Hat der Event 'eid' im Anschluss keine Lauscher mehr, wird er implizit
-     geloescht.
 
-RUeCKGABEWERT:
-     1 fuer Erfolg, <=0 fuer Misserfolg.
-     1   - Erfolg, 'listener' wurde eingetragen.
-     -1  - falsche Argumente uebergeben
-     -2  - 'listener' ist nicht fuer 'eid' registriert.
-    
-BEMERKUNGEN:
-     Wenn sich ein Objekt vor Zerstoerung nicht abmeldet, wird es ggf. beim
-     naechsten Auftreten von 'eid' automatisch ausgetragen.
-     Falls Blueprints nach Neuladen nicht automatisch angemeldet sein sollen,
-     sollten sie sich im remove() explizit abmelden.
+DEFINIERT IN
+============
 
-BEISPIELE:
-     1. Ein Objekt moechte nicht mehr ueber Spielertode informiert werden:
-          EVENTD->UnregisterEvent(EVT_LIB_PLAYER_DEATH, this_object());
+   /p/daemon/eventd.c
 
-     2. Ein Objekt moechte sich bei Zerstoerung abmelden:
-       varargs int remove(int silent) {
-           ...
-           EVENTD->UnregisterEvent("zesstra_vulkanausbruch",this_object());
-       }
 
-SIEHE AUCH:
-     events, eventd, UnregisterEvent(), RegisterEvent()
+DEKLARIERT IN
+=============
 
-----------------------------------------------------------------------------
+   /sys/events.h
+
+
+ARGUMENTE
+=========
+
+   string eid,
+     Die ID des Events, vom dem man sich abmelden will.
+   object listener,
+     Das Objekt, das als Lauscher ausgetragen werden soll.
+
+
+BESCHREIBUNG
+============
+
+   Das Objekt 'listener' wird als Lauscher dieses Events ausgetragen. Ab
+   diesem Moment wird es bei Events vom Typ 'eid' nicht mehr informiert.
+
+   Hat der Event 'eid' im Anschluss keine Lauscher mehr, wird er implizit
+   geloescht.
+
+
+RUeCKGABEWERT
+=============
+
+   1 fuer Erfolg, <=0 fuer Misserfolg.
+   1   - Erfolg, 'listener' wurde eingetragen.
+   -1  - falsche Argumente uebergeben
+   -2  - 'listener' ist nicht fuer 'eid' registriert.
+
+
+BEMERKUNGEN
+===========
+
+   Wenn sich ein Objekt vor Zerstoerung nicht abmeldet, wird es ggf. beim
+   naechsten Auftreten von 'eid' automatisch ausgetragen.
+   Falls Blueprints nach Neuladen nicht automatisch angemeldet sein sollen,
+   sollten sie sich im remove() explizit abmelden.
+
+
+BEISPIELE
+=========
+
+   1. Ein Objekt moechte nicht mehr ueber Spielertode informiert werden:
+        EVENTD->UnregisterEvent(EVT_LIB_PLAYER_DEATH, this_object());
+
+   2. Ein Objekt moechte sich bei Zerstoerung abmelden:
+     varargs int remove(int silent) {
+         ...
+         EVENTD->UnregisterEvent("zesstra_vulkanausbruch",this_object());
+     }
+
+
+SIEHE AUCH
+==========
+
+   events, eventd, UnregisterEvent(), RegisterEvent()
+
 Last modified: 15.08.2007, Zesstra
