diff --git a/doc/efun/find_call_out b/doc/efun/find_call_out
index 3517518..6716a04 100644
--- a/doc/efun/find_call_out
+++ b/doc/efun/find_call_out
@@ -1,37 +1,28 @@
-FUNKTION:
-        int find_call_out(string func)
-        int find_call_out(closure cl)
+SYNOPSIS
+        int find_call_out(string fun)
+        int find_call_out(closur cl)
 
-BESCHREIBUNG:
-        Findet den ersten call_out() auf die Funktion 'func' im aktuellen Objekt
-        (bzw. auf die Closure 'cl') der ausgefuehrt werden soll.
-        Zurueck gegeben wird die verbleibende Zeit bis zum Aufruf in Sekunden.
-        Wenn kein call_out() gefunden wird, wird -1 zurueck gegeben.
+BESCHREIBUNG
+        Findet den ersten call_out() auf die Funktion fun im aktuellen Objekt
+        (bzw. auf die Closure cl) der ausgefuehrt werden soll. Zurueck gegeben
+        wird die verbleibende Zeit bis zum Aufruf. Wenn kein call_out()
+        anhaengig ist, wird -1 zurueck gegeben.
 
-BEISPIELE:
-        // Findet sich kein call_out auf die Funktion 'func', so kann er
-        // gestartet werden. (Wichtig falls der call_out nicht mehrfach
-        // aufgerufen werden soll).
- 
-        if(find_call_out("func")==-1)
-          call_out("func",5);
+FEHLER
+        Die Suche nach call_out()s auf Closures funktioniert nur, wenn der
+        genaue Wert der Closure gesucht wird.
 
-        // Die Suche nach call_out()s auf Closures funktioniert nur, wenn der
-        // genaue Wert der Closure gesucht wird.
-
-        // Das funktioniert:
+        Das funktioniert:
             closure cl = symbol_function("main", obj);
             call_out(cl, 2);
             find_call_out(cl);
 
-        // Das funktioniert nicht:
+        Das funktioniert nicht:
             call_out(symbol_function("main", obj), 2);
             find_call_out(symbol_function("main", obj));
 
-        Ein Codebeispiel, um alle call_out()s auf eine Funktion zu entfernen,
-        findet sich in der Manpage zu remove_call_out().
+GESCHICHTE
+        Die Suche nach call_out()s auf Closures wurde in 3.2.1@45 eingefuehrt.
 
-SIEHE AUCH:
+SIEHE AUCH
         call_out(E), remove_call_out(E), call_out_info(E)
-
-25.08.2016, Arathorn
