diff --git a/doc/efun/program_name b/doc/efun/program_name
index 80cb4ab..bdd55d4 100644
--- a/doc/efun/program_name
+++ b/doc/efun/program_name
@@ -2,37 +2,32 @@
         string program_name()
         string program_name(object|lwobject obj)
 
-BESCHREIBUNG
-        Liefert den Name des Programms, aus dem <obj> kompiliert wurde.
-        Wenn <obj> nicht angegeben wird, wird standardmaessig this_object()
-        verwendet.
+DESCRIPTION
+        Returns the name of the program of <obj>, resp. the name of the
+        program of the current object if <obj> is omitted.
 
-        Der Name ist fuer Clones der Name des Files, aus dem der Blueprint
-        kompiliert wurde. Der Name wechselt, wenn ein Objekt sein Programm
-        durch replace_program() aendert.
+        The returned name is usually the name from which the blueprint
+        of <obj> was compiled (the 'load name'), but changes if an object
+        replaces its programs with the efun replace_program().
 
-        Fuer den Spezialfall, dass <obj> als 0 uebergeben wird, liefert
-        program_name() 0 zurueck.
+        As a special case, if <ob> is passed as 0, the function will
+        return 0.
 
-        Der Name endet immer mit '.c'. Er beginnt mit einem '/', wenn der
-        Driver sich nicht im Compat Modus befindet.
+        The name always ends in '.c'. It starts with a '/' unless the
+        driver is running in COMPAT mode.
 
-BEISPIELE
+        CAVEAT: This efun swaps in the program if it is swapped out.
+
+EXAMPLES
         object o;
-        o = clone_object("/std/dings");
-        write(program_name(o));
+        o = clone_object("/std/thing");
+        write(program_name(o));  --> writes "/std/thing.c" in !compat mode
+                                        and "std/thing.c"  in compat mode
 
-        liefert:
-        --> "/std/dings.c", wenn der Driver nicht im Compat Modus laeuft.
-        --> "std/dings.c", wenn der Driver im Compat Modus laeuft.
+HISTORY
+        Introduced in LDMud 3.2.6.
+        LDMud 3.2.9 allowed a 0 argument.
 
-ANMERKUNGEN
-        Die Efun swapt das Programm ein, wenn dieses ausgelagert ist.
-
-GESCHICHTE
-        Eingefuehrt in LDMud 3.2.6.
-        Seit 3.2.9 ist das Argument 0 erlaubt.
-
-SIEHE AUCH
+SEE ALSO
         clone_object(E), clonep(E), load_name(E), load_object(E),
         object_name(E), replace_program(E)
