diff --git a/doc/sphinx/lfun/obsolete/AddInsertHook.rst b/doc/sphinx/lfun/obsolete/AddInsertHook.rst
new file mode 100644
index 0000000..143efc9
--- /dev/null
+++ b/doc/sphinx/lfun/obsolete/AddInsertHook.rst
@@ -0,0 +1,88 @@
+AddInsertHook()
+===============
+
+********************* OBSOLETE LFUN ***********************************
+* Diese Efun bitte nicht mehr benutzen, sondern stattdessen die       *
+* Hooks (s. /doc/std/hooks).                                          *
+***********************************************************************
+AddInsertHook()
+
+FUNKTION
+--------
+::
+
+     void AddInsertHook(object ob);
+
+DEFINIERT IN
+------------
+::
+
+     /std/player/restrictions.c
+
+ARGUMENTE
+---------
+::
+
+     ob - Das Objekt, das informiert werden soll, wenn ein Objekt dem
+          Spielerinventar hinzugefuegt wurde.
+
+BESCHREIBUNG
+------------
+::
+
+     (Diese Funktionalitaet wurde ersetzt durch den allgemeinen Hook
+      H_HOOK_INSERT und ist nur noch aus Gruenden der Kompatibilitaet
+      vorhanden.)
+
+     Diese Funktion wird im Spielerobjekt aufgerufen, um das Objekt ob als
+     Hook-Listener anzumelden. Auf diese Weise eingetragene Listener
+     werden informiert, wenn ein Objekt ins Spielerinventar bewegt wurde.
+     Technisch wird die Bewegung ueber NotifyInsert() im Spielerobjekt
+     detektiert, und im Listener-Objekt wird die Funktion InsertNotify()
+     gerufen, die als Parameter das neu ins Spielerinventar bewegte Objekt
+     uebergeben bekommt.
+
+RUeCKGABEWERT
+-------------
+::
+
+     keiner
+
+BEMERKUNGEN
+-----------
+::
+
+     Das Listener-Objekt muss sich ebenfalls im Spielerinventar befinden,
+     ansonsten wird der eingetragene Hook wieder geloescht.
+
+BEISPIEL
+--------
+::
+
+     
+
+     a) Objekt "ob" wird im Spieler als Listener angemeldet:
+        this_player()->AddInsertHook(ob);
+
+     b) Objekt "new" wird ins Spielerinventar bewegt, das Spielerobjekt
+        informiert "ob" darueber:
+        ob->InsertNotify(new);
+
+     c) Das Listener-Objekt "ob" reagiert darauf, z.B. indem es die Fackel
+        loescht, sofern sie vorher brannte:
+        void InsertNotify(object new) {
+          if ( objectp(new) && new->id("\nfackel") && 
+               new->QueryProp(P_LIGHTED) )
+            new->unlight();
+          return;
+        }
+
+SIEHE AUCH
+----------
+::
+
+    NotifyInsert(), RemoveInsertHook(), QueryInsertHooks()
+
+
+Last modified: 14.04.2010, Arathorn
+
