diff --git a/doc/efun/send_udp b/doc/efun/send_udp
index dd5d2bc..f508dd6 100644
--- a/doc/efun/send_udp
+++ b/doc/efun/send_udp
@@ -1,39 +1,26 @@
-GESCHUETZT
 SYNOPSIS
         int send_udp(string host, int port, bytes message)
-        int send_udp(string host, int port, int *message)
+        int send_udp(string host, int port, int * message)
 
-BESCHREIBUNG
-        Sendet die Nachricht <message> als UDP Paket an den angegebenen Host
-        bzw. Port.
+DESCRIPTION
+        Sends the <message> in an UDP packet to the given host and port
+        number.
 
-        Die Efun verursacht eine Schutzverletzung. Wenn USE_DEPRECATED gesetzt
-        ist, wird zuerst send_imp() ausgeloest, anschliessend - wenn send_imp()
-        fehlschlaegt - send_udp(). Wenn USE_DEPRECATED nicht gesetzt ist,
-        wird nur send_udp() ausgeloest.
+        The efun causes the privilege violation ("send_udp").
 
-        Die Funktion liefert 1 bei Erfolg, sonst 0.
+        Returns 1 on success, 0 on failure.
 
-        MERKE: auf manchen Systemen wird ein fehlgeschlagener Versuch von
-        send_udp() nicht registriert, bis das naechste send_udp() aufgerufen
-        wird. Das spaetere send_udp() kann in diesem Fall 0 zurueck liefern,
-        obwohl es erfolgreich war.
+        Note: On some machines a failed send_udp() will not be registered
+        until the next send_udp() - the latter one might return '0' even
+        if itself was successful.
 
-FEHLER
-        Ist <host> ein qualifizierter Hostname (anstelle einer IP Adresse),
-        blockiert die Ausfuehrung fuer die Dauer der Namensaufloesung.
+BUGS
+        If the <host> is given as a fully qualified name (instead of
+        an IP address), the execution will block until the name is resolved.
 
-ANMERKUNGEN
-        Auf manchen Systemen wird ein fehlgeschlagener Versuch von send_udp()
-        nicht registriert, bis das naechste send_udp() aufgerufen wird.
-        Das spaetere send_udp() kann in diesem Fall 0 zurueckliefern, obwohl
-        es erfolgreich war.
+HISTORY
+        LDMud 3.2.9 renamed this efun from send_imp(), and also changed the
+          privilege violation string and the apply names.
 
-GESCHICHTE
-        LDMud 3.2.9 benannte diese Efun von send_imp() und veraenderte auch
-            die Schutzverletzung (bzw. die entsprechende Fehlermeldung) und
-            die Apply Namen. Die alte Version ist verfuegbar, wenn im
-            Treiber USE_DEPRECATED gesetzt ist.
-
-SIEHE AUCH
+SEE ALSO
         query_udp_port(E), receive_udp(M)
