diff --git a/doc/efun/caller_stack b/doc/efun/caller_stack
index a08c8d1..7d6e286 100644
--- a/doc/efun/caller_stack
+++ b/doc/efun/caller_stack
@@ -2,32 +2,31 @@
         <object|lwobject>* caller_stack()
         <object|lwobject>* caller_stack(int add_interactive)
 
-BESCHREIBUNG
-        Liefert ein Array der previous_object(), die einen call_other() auf
-        this_object() verursacht haben. Dabei entspricht previous_object(i)
-        caller_stack()[i].
+DESCRIPTION
+        Returns an array of the previous_object()s who caused the
+        call_other() to this_object().
+        previous_object(i) equals caller_stack()[i].
 
-        Wenn die Funktion mit <add_interactive> (als wahr) aufgerufen wird,
-        wird this_interactive() dem Array hinzugefuegt, oder 0, wenn kein
-        this_interactive() existiert.
+        If you pass the optional argument <add_interactive> (as true value)
+        this_interactive() is appended to the array, or 0 if there is no
+        current interactive.
 
-BEISPIELE
-        Das interaktive Objekt A gibt ein Kommando ein, das im Objekt B eine
-        Funktion aufruft, die auf das Objekt C verweist, welches wiederum
-        eine Funktion im Objekt D aufruft.
+        Note: calls to 'alien lfun closures' (see symbol_function(E))
+        generate two entries on the stack if the bound object differs
+        from the closure object: the first is for the bound object,
+        the second for the closure object.
 
-        Wenn D nun caller_stack() aufruft, ergibt dies: ({C,B}).
-        Fuer caller_stack(1) ergibt die Funktion: ({C,B,A}).
+EXAMPLES
+        interactive object A enters a command which causes
+        a call to a function in object B, that one calls a
+        function in object C and that, in turn, in object D
 
-ANMERKUNGEN
-        Aufrufe von "alien lfun closures" (vergleiche symbol_function())
-        erzeugen zwei Eintraege im Stack, wenn das gebundene Objekt sich vom
-        Objekt der Closure unterscheidet: der erste Eintrag steht fuer das
-        gebundene Objekt, der zweite fuer das Closure-Objekt.
+        If D now calls caller_stack() the result would be: ({C,B}).
+        If it calls caller_stack(1) the result is: ({C,B,A}).
 
-GESCHICHTE
-        Eingefuehrt in LDMud 3.2.6, vorgeschlagen von Tubmud.
+HISTORY
+        Introduced in LDMud 3.2.6, suggested by Tubmud.
 
-SIEHE AUCH
+SEE ALSO
         caller_stack_depth(E), previous_object(E), this_interactive(E),
         call_other(E)
