diff --git a/doc/efun/present_clone b/doc/efun/present_clone
index e061237..59ecd29 100644
--- a/doc/efun/present_clone
+++ b/doc/efun/present_clone
@@ -1,4 +1,4 @@
-VORLAEUFIG
+PRELIMINARY
 SYNOPSIS
         object present_clone(string str)
         object present_clone(string str, int n)
@@ -10,26 +10,26 @@
         object present_clone(object obj, object env)
         object present_clone(object obj, object env, int n)
 
-BESCHREIBUNG
-        Diese Efun durchsucht das Inventar von <env> nach einem Objekt mit
-        einem bestimmten Blueprint. Wird <env> nicht angegeben, wird in
-        this_object() gesucht. Der Blueprint kann entweder mit seinem Namen
-        <str> angegeben oder als Blueprint des Objekts <obj> werden. Gesucht
-        wird in beiden Faellen aufgrund von load_name().
-        Wird <n> angegeben, wird das <n>. Objekt in <env> gesucht, ansonsten
-        das 1. in <env>.
-        Wird kein passendes Objekt gefunden, wird 0 zurueckgegeben.
 
-        Fuer Driver im Plain Modus beginnt der Name in jedem Fall mit '/', im
-        Compat Modus nicht.
+DESCRIPTION
+        This efun searches the inventory of object <env> (default is 
+        this_object()) for an object with a specific blueprint.
+        The blueprint can be specified either by name <str>, or as the same
+        blueprint as of object <obj>. The matching criteria in both cases is
+        the load_name().
+        If <n> is given, the <n>th object in <env> is returned (if present),
+        otherwise the first object matching <str> or <obj>.
+        If no object in <env> matches the criteria, 0 is returned.
 
-BEISPIELE
-        Angenommen, das Objekt <env> enthalte die Objekte /obj/money#8,
-        /std/weapon#9, /std/weapon#12 und /obj/key in der angegeben
-        Reihenfolge.
+        For plain driver this name starts with a '/', for COMPAT mode
+        drivers it doesn't.
+
+EXAMPLES
+        Assume that object 'env' contains the objects /obj/money#8,
+        /std/weapon#9, /std/weapon#12 and /obj/key in the given order.
 
         +--------------------------------------------------+---------------+
-        | Funktion                                         | Liefert       |
+        | Function call                                    | returns       |
         +--------------------------------------------------+---------------+
         | present_clone("/obj/money", env)                 | /obj/money#8  |
         | present_clone("/std/weapon#12", env)             | /std/weapon#9 |
@@ -39,15 +39,13 @@
         | present_clone("/std/weapon#12", env, 3)          | 0             |
         +--------------------------------------------------+---------------+
 
-        Fuer Driver im Compat Modus liefert die Funktion keine '/' am Anfang.
+REMARKS
+        Note that in contrast to present(), this efun never searches
+        in the environment of <env>.
 
-ANMERKUNGEN
-        Im Unterschied zu present() sucht present_clone() niemals in der
-        Umgebung von <env>.
+HISTORY
+        Introduced in 3.2.7.
+        Searching for the <n>th object was added in 3.3.718.
 
-GESCHICHTE
-        Eingefuehrt in 3.2.7.
-        Die Suche nach dem <n>-ten Objekt wurde in 3.3.718 ergaenzt.
-
-SIEHE AUCH
+SEE ALSO
         load_name(E), present(E)
