diff --git a/doc/efun/send_erq b/doc/efun/send_erq
index fd1d521..85ff4ab 100644
--- a/doc/efun/send_erq
+++ b/doc/efun/send_erq
@@ -1,31 +1,37 @@
-GESCHUETZT
 SYNOPSIS
         #include <erq.h>
 
-        int send_erq(int request, bytes|int *data, closure callback)
+        int send_erq(int request, bytes|int * data, closure callback)
 
-BESCHREIBUNG
-        Eine Anfrage vom Typ <request> (standardmaessig 0) wird mit Inhalt
-        <data> word an den ERQ gesandt. Wenn <callback> angegeben ist,
-        wird diese Closure aufgerufen, wenn eine Antwort vom ERQ eintrifft
-        (ein Status Code), vorausgesetzt die Antwort enthaelt ausreichend
-        Daten, um damit zu arbeiten:
+DESCRIPTION
+        A request of given type (<request>, default is 0), equipped
+        with the given <data>, is sent to the erq. If <callback> is
+        set to a closure, it will be called when the response from the
+        erq (a status code) arrives, if the response carries enough data to
+        work on.
 
-            void <closure>(int *response_data, int len);
+        <request> can be one of the request codes defined in <erq.h>.
+        The binary flag ERQ_CB_STRING defines whether the <callback>
+        closure expects the returned data packed into an array of
+        integers or as a string.
 
-        <data> kann entweder eine Bytefolge oder ein Array von Integers sein,
-        wobei im zweiten Fall die Zahlen als Bytes interpretiert werden.
-        Die unterschiedlichen Anfragen sind in <erq.h> definiert.
+        <data> may be a byte sequence, or an array of integers which are
+        then interpreted as bytes.
 
-        Die Funktion liefert 0 zurueck, wenn das Senden fehlgeschlagen ist,
-        etwas anderes sost.
+        <callback>, if set, is a closure of either these forms:
 
-        Die Funktion verursacht eine Schutzverletzung "erq".
+          !ERQ_CB_STRING: void <closure>(int *response_data, int len)
+           ERQ_CB_STRING: void <closure>(string response_data)
 
-GESCHICHTE
-        Eingefuehrt in 3.2.1@61.
-        Geschuetzt in 3.2.1@84.
-        LDMud 3.3.318 fuehrte das ERQ_CB_STRING-Flag ein.
+        The result returned from the efun is 0 on failure to send the
+        data, or non-zero on a successful send.
 
-SIEHE AUCH
+        The function causes a privilege violation "erq".
+
+HISTORY
+        Introduced in 3.2.1@61.
+        Made a privileged function in 3.2.1@84
+        LDMud 3.3.318 introduced the ERQ_CB_STRING flag.
+
+SEE ALSO
         attach_erq_demon(E), erq(C)
