diff --git a/doc/efun/strstr b/doc/efun/strstr
index 2d93006..12b61b0 100644
--- a/doc/efun/strstr
+++ b/doc/efun/strstr
@@ -1,19 +1,19 @@
 SYNOPSIS
-        int strstr(string str, string muster)
-        int strstr(string str, string muster, int pos)
-        int strstr(bytes  str, bytes  muster)
-        int strstr(bytes  str, bytes  muster, int pos)
+        int strstr(string str, string str2)
+        int strstr(string str, string str2, int pos)
+        int strstr(bytes  str, bytes  str2)
+        int strstr(bytes  str, bytes  str2, int pos)
 
-BESCHREIBUNG
-        Liefert den Index des ersten Auftretens von <muster> in <str>,
-        ausgehend von der Position <pos>, wobei in <str> vorwaerts gesucht
-        wird. Wird <pos> nicht angegeben, wird als Standardwert 0 gesetzt,
-        also vom Beginn von <str> her gesucht.
+DESCRIPTION
+        Returns the index of <str2> in <str> searching from position <pos>
+        on forward.
 
-        Wenn <muster> nicht gefunden wird, wird -1 zurueckgeliefert.
+        The returned index is relativ to the beginning of the string.
+        If <str2> is not found in <str>, -1 is returned.
 
-        Wenn <pos> negativ ist, bezeichnet <pos> die Startposition der Suche
-        relativ zum Ende von <str>, es wird aber weiterhin vorwaerts gesucht.
+        If <pos> is negativ, it designates the start position relative
+        to the end of the string (the search will still proceed towards
+        the end of the string).
 
-SIEHE AUCH
+SEE ALSO
         strrstr(E), strlen(E), sscanf(E), sprintf(E), explode(E)
