diff --git a/doc/sphinx/props/P_INTERMUD.rst b/doc/sphinx/props/P_INTERMUD.rst
deleted file mode 100644
index e893d7c..0000000
--- a/doc/sphinx/props/P_INTERMUD.rst
+++ /dev/null
@@ -1,25 +0,0 @@
-P_INTERMUD
-==========
-
-NAME
-----
-::
-
-    P_INTERMUD                    "intermud"                    
-
-DEFINIERT IN
-------------
-::
-
-    /sys/player/comm.h
-
-BESCHREIBUNG
-------------
-::
-
-   Die Bedeutung dieser Property ist in den praehistorischen Untiefen
-   der Mudlib verlorengegangen.
-   Wird nicht mehr benutzt.
-   Nicht benutzen.
-   Ignorieren.
-
diff --git a/doc/sphinx/props/obsolete/P_INTERMUD.rst b/doc/sphinx/props/obsolete/P_INTERMUD.rst
new file mode 100644
index 0000000..3893b57
--- /dev/null
+++ b/doc/sphinx/props/obsolete/P_INTERMUD.rst
@@ -0,0 +1,33 @@
+P_INTERMUD
+==========
+::
+
+  ********************* VERALTETE PROPERTY ******************************
+  * Diese Property ist veraltet und wurde aus der Mudlib entfernt       *
+  ***********************************************************************
+
+NAME
+----
+
+    P_INTERMUD                    "intermud"
+
+DEFINIERT IN
+------------
+
+    /sys/player/comm.h
+
+BESCHREIBUNG
+------------
+
+   Die Bedeutung dieser Property ist in den praehistorischen Untiefen
+   der Mudlib verlorengegangen.
+   Wird nicht mehr benutzt.
+   Nicht benutzen.
+   Ignorieren.
+
+BEMERKUNG
+---------
+
+  In Savefiles kann es noch eine Property mit diesem Namen geben, da die Property frueher gespeichert wurde.
+  Das Spielerobjekt loescht dieses SAVE-Flag nach dem Laden des Savefiles. Es wird also auch dringend davon abgeraten, diesen Namen erneut zu verwenden, bevor sichergestellt ist, dass er in keinen Savefiles mehr vorkommt und dieser Code aus updates_after_restore() entfernt wurde.
+
diff --git a/std/player/comm.c b/std/player/comm.c
index dff94ea..03c4c9e 100644
--- a/std/player/comm.c
+++ b/std/player/comm.c
@@ -81,7 +81,6 @@
 varargs string name(int casus, int demonst);
 
 //local property prototypes
-static int _query_intermud();
 public int RemoveIgnore(string ign);
 public int AddIgnore(string ign);
 
@@ -103,7 +102,6 @@
   Set(P_EARMUFFS, 0);
   Set(P_EARMUFFS, SAVE, F_MODE);
   Set(P_EARMUFFS, SECURED, F_MODE);
-  Set(P_INTERMUD, SAVE, F_MODE);
   Set(P_IGNORE, ([]), F_VALUE);
   Set(P_IGNORE, SAVE, F_MODE);
   Set(P_BUFFER, SAVE, F_MODE);
@@ -1803,13 +1801,6 @@
   return 1;
 }
 
-static int _query_intermud()
-{
-  mixed tmp;
-  return member(pointerp(tmp=Query(P_CHANNELS))?tmp:({}), "Intermud") > -1;
-}
-
-
 int erwidere(string str)
 {
   str=_unparsed_args();
@@ -2330,6 +2321,9 @@
 }
 
 protected void updates_after_restore(int newflag) {
+  // SAVE-Flag einer praehistorischen Property P_INTERMUD entfernen.
+  Set("intermud", SAVE, F_MODE_AD);
+
   // Colourmap aktualisieren nach Restore
   colourmap = build_colourmap(QueryProp(P_TTY));
 
diff --git a/sys/player/comm.h b/sys/player/comm.h
index 82d7f15..b9e6498 100644
--- a/sys/player/comm.h
+++ b/sys/player/comm.h
@@ -12,7 +12,6 @@
 
 // properties
 
-#define P_INTERMUD           "intermud" // Does she listen to it ?
 #define P_BUFFER             "buffer"   // Kobold konfigurieren 
 #define P_DEAF               "deaf"     // Taubheit
 #define P_PERM_STRING        "perm_string" // Fuer Sprachflueche
