diff --git a/doc/efun/garbage_collection b/doc/efun/garbage_collection
index 86a87c4..4caa2df 100644
--- a/doc/efun/garbage_collection
+++ b/doc/efun/garbage_collection
@@ -1,29 +1,55 @@
-GESCHUETZT
 SYNOPSIS
         void garbage_collection()
         void garbage_collection(string filename)
+        void garbage_collection(string filename, int flag)
 
-BESCHREIBUNG
-        Befiehlt dem Treiber, nach Ende der aktuellen Ausfuehrung eine
-        Garbage Collection zu beginnen. Je nachdem, welcher Memory Allocator
-        verwendet wird, ist die Garbage Collection mehr oder weniger
-        gruendlich.
+DESCRIPTION
+        Tell the parser to initiate a garbage collection after the
+        current execution ended. Depending on the type of memory
+        allocator used, this GC is more less thorough.
 
-        Wird der smalloc Memory Allocator verwendet, erzeugt GC einen Output
-        in einem Logfile. Der Standardname fuer das Logfile wird beim
-        Programmstart festgelegt, kann aber zur Laufzeit veraendert werden,
-        wenn das Argument <filename> angegeben ist. Der Log-Output wird in
-        diesem Fall an das bezeichnete Logfile angefuegt.
+        If the 'smalloc' memory allocator is used, the GC produces
+        output to a log file. The default name of the log file is
+        specified at program start, but can be modified at runtime:
 
-        Fuer andere Memory Allocators erzeugt garbage_collection() keinen
-        Output. Ein allfaelliges Argument <filename> wird ignoriert.
+            With the <filename> argument a log file for the GC output
+            different from the default log file can be specified.
 
-        Diese efun verursacht den Aufruf von privilege_violation().
+            If <flag> is not given or 0, the output from the next
+            and only the next GC will go into the log file. If the file
+            already exists, the new output will be appended.
 
-GESCHICHTE
-        LDMud 3.2.9 fuehrte das Argument <filename> ein.
-        LDMud 3.3.209 fuehrte das Argument <flag> ein.
-        LDMud 3.5.0 machte die efun privilegiert.
+            If <flag> is 1, the <filename> will be used as the new
+            default log file for all following GCs. If the file already
+            exists, it will be overwritten from the start.
 
-SIEHE AUCH
+        If a different memory allocator is used, the GC does not produce
+        output and the <filename> and <flag> arguments are ignored.
+
+        Calling this efun causes a privilege_violation.
+
+EXAMPLES
+        garbage_collection()
+         [ GC occurs -> logs into default file ]
+
+        garbage_collection("/GCLOG")
+         [ GC occurs -> logs into "/GCLOG" ]
+
+        garbage_collection("/GCLOG", 1)
+         [ GC occurs -> logs into "/GCLOG", sets default log to "/GCLOG" ]
+
+        garbage_collection("/GCLOG")
+        garbage_collection("/GCLOG2")
+         [ GC occurs -> logs into "/GCLOG" ]
+
+        garbage_collection("/GCLOG", 1)
+        garbage_collection("/GCLOG2")
+         [ GC occurs -> logs into "/GCLOG2", sets default log to "/GCLOG" ]
+
+HISTORY
+        LDMud 3.2.9 added the <filename> argument.
+        LDMud 3.3.209 added the <flag> argument.
+        LDMUd 3.5.0 made the efun privileged.
+
+SEE ALSO
         rusage(E), valid_write(M), privilege_violation(M)
