diff --git a/doc/pcmd/telnet b/doc/pcmd/telnet
index 029317f..489708f 100644
--- a/doc/pcmd/telnet
+++ b/doc/pcmd/telnet
@@ -32,6 +32,7 @@
 
  SIEHE AUCH:
     telnegs, telnet keepalive, telnet gmcp
+    P_TELNET_KEEPALIVE_DELAY
 
  LETZTE AeNDERUNG:
-    15.01.2018, Zesstra
+    26.07.2019, Zesstra
diff --git a/doc/pcmd/telnet_keepalive b/doc/pcmd/telnet_keepalive
index eecbfd7..770ceba 100644
--- a/doc/pcmd/telnet_keepalive
+++ b/doc/pcmd/telnet_keepalive
@@ -19,11 +19,11 @@
     Verbindung terminiert wird. Daher besitzen die Spielershells ein
     einschaltbares 'Telnet-Keep-Alive'.
 
-    Diese Funktion schickt alle 4 min Daten an eure Clients, die diese
-    nicht anzeigen, aber ihrerseits beantworten/bestaetigen (sofern der Client
-    dies unterstuetzt). So gibt es in der Verbindung zum Mud min. alle 4 min
-    Datenverkehr. Das sollte Verbindungsabbruechen durch Inaktivitaet
-    vorbeugen.
+    Diese Funktion schickt regelmaessig (Standardeinstellung: alle 4 min)
+    Daten an eure Clients, die diese nicht anzeigen, aber ihrerseits
+    beantworten/bestaetigen (sofern der Client dies unterstuetzt). So gibt
+    es in der Verbindung zum Mud regelmaessig Datenverkehr. Das sollte
+    Verbindungsabbruechen durch Inaktivitaet vorbeugen.
 
     Bitte schaltet diese Funktion aber nur ein, wenn ihr sie braucht, d.h.
     ohne sie Probleme mit Verbindungsabbruechen beim Ideln habt.
@@ -32,11 +32,9 @@
 
     Ohne Argumente wird der aktuelle Zustand angezeigt.
 
-    Hinweis fuer Magier: Magier im Magiermodus (mschau ein) kommen leider
-    nicht in den Genuss dieses Features, weil sie keinen Heartbeat haben.
-
  SIEHE AUCH:
-    telnegs, telnet gmcp
+    telnegs, telnet gmcp,
+    P_TELNET_KEEPALIVE_DELAY
 
  LETZTE AeNDERUNG:
-    08.12.2015, Zesstra
+    26.07.2019, Zesstra
diff --git a/doc/sphinx/props/P_TELNET_KEEPALIVE_DELAY.rst b/doc/sphinx/props/P_TELNET_KEEPALIVE_DELAY.rst
new file mode 100644
index 0000000..d50b4cb
--- /dev/null
+++ b/doc/sphinx/props/P_TELNET_KEEPALIVE_DELAY.rst
@@ -0,0 +1,39 @@
+P_TELNET_KEEPALIVE_DELAY
+========================
+
+NAME
+----
+
+     P_TELNET_KEEPALIVE_DELAY "p_lib_telnet_alive_delay"
+
+DEFINIERT IN
+------------
+
+     <player/telnetneg.h>
+
+BESCHREIBUNG
+------------
+
+     In dieser Property kann der zeitliche Abstand zwischen zwei Aussendungen
+     der "Telnet Timing Mark", welche fuer das Telnet keep-alive benutzt wird,
+     bestimmt werden. Die Angabe ist in Heartbeats.
+     Eine 0 fuehrt zu einer Standardverzoegerung (zur Zeit 240 s).
+
+     Wenn diese Property in einem Magier (oder Spieler) gesetzt wird, sollte
+     experimentell ermittelt werden, welcher Wert sinnvoll ist. Dies kann z.B.
+     dadurch erfolgen, dass von 120 (Heartbeats) eine stufenweise Reduktion
+     erfolgt, bis kein Disconnect mehr erfolgt. Helfen sehr niedrige Werte
+     nicht, sollte die Verzoegerung wieder erhoeht werden bzw. das Keepalive
+     ganz abgeschaltet werden.
+
+BEMERKUNGEN
+-----------
+
+     Die Property sollte nicht auf weniger als 30 gesetzt werden.
+
+SIEHE AUCH
+----------
+
+     :doc:`../pcmd/telnet`
+
+25.07.2019, Zesstra
diff --git a/std/player/base.c b/std/player/base.c
index e83930e..56102b1 100644
--- a/std/player/base.c
+++ b/std/player/base.c
@@ -73,6 +73,7 @@
 #include "/secure/questmaster.h"
 #include "/secure/lepmaster.h"
 #include <events.h>
+#include <player/telnetneg.h>
 
 #undef NAME /* DEFINED BY UDP.H; BAD NAME CLASH :( */
 #define NAME(who) capitalize(getuid(who))
@@ -84,9 +85,6 @@
 private nosave string  *autoload_error;
 private nosave string realip; 
 
-private nosave string passw;        /* temporarily for password change */
-private nosave string passwold;     /* temporarily for password change */
-
 // HB-Zaehler. Wenn 0 erreicht wird, wird  ein Telnet TM Paket als Keep-Alive
 // an den Client gesendet und der Counter wieder auf hochgesetzt. 
 // Wenn == 0, ist das Keep-Alive abgeschaltet.
@@ -742,7 +740,7 @@
   * @return 1, falls der Spieler Keep-Alive Paket wuenscht, sonst 0. 
   * @see heart_beat()
 */
-protected int CheckTelnetKeepAlive() {
+protected int CheckTelnetKeepAlive(int delay) {
   if (telnet_tm_counter > 0) {
     // Spieler hat offenbar ein Keep-Alive konfiguriert ...
     if (!(--telnet_tm_counter)) {
@@ -753,7 +751,7 @@
       // alle 120 HBs (240s, 4min).
       // sollte eigentlich 240 / __HEART_BEAT_INTERVAL__ sein. Aber spart
       // eine Operation im HB. ;-)
-      telnet_tm_counter = 120;
+      telnet_tm_counter = delay || 120;
     }
     return 1; // Keep-Alive ist eingeschaltet
   }
@@ -809,7 +807,7 @@
   if (CheckDailyPlaytime())
     return;
 
-  CheckTelnetKeepAlive();
+  CheckTelnetKeepAlive(QueryProp(P_TELNET_KEEPALIVE_DELAY));
 
   life::heart_beat();
   combat::heart_beat();
@@ -1203,9 +1201,8 @@
     write("Falsches Passwort!\n");
     return 1;
   }
-  passwold = str;
   input_to("change_password3",INPUT_NOECHO|INPUT_PROMPT,
-      "Bitte das NEUE Passwort eingeben: ");
+      "Bitte das NEUE Passwort eingeben: ", str);
   return 1;
 }
 
@@ -1216,32 +1213,32 @@
   * \return 1 bei Erfolg, 0 sonst.
   * \sa change_password(), change_password2(), change_password4()
   */
-static int change_password3( string str )
+static int change_password3( string str, string passwold )
 {
     write( "\n" );
 
     if ( !str || str == "" ){
         write( "Abgebrochen !\n" );
-        passwold = passw = 0;
         return 1;
     }
 
     if ( passwold == str ){
         write( "Das war Dein altes Passwort.\n" );
         input_to( "change_password3", INPUT_NOECHO|INPUT_PROMPT,
-            "Bitte das NEUE Passwort eingeben (zum Abbruch Return druecken): ");
+            "Bitte das NEUE Passwort eingeben (zum Abbruch Return "
+            "druecken): ", passwold);
         return 1;
     }
 
     if ( !MASTER->good_password( str, getuid(ME) ) ){
         input_to( "change_password3", INPUT_NOECHO|INPUT_PROMPT,
-            "Bitte das NEUE Passwort eingeben: ");
+            "Bitte das NEUE Passwort eingeben: ", passwold);
         return 1;
     }
 
     passw = str;
     input_to( "change_password4", INPUT_NOECHO|INPUT_PROMPT,
-        "Bitte nochmal: ");
+        "Bitte nochmal: ", passwold, str);
     return 1;
 }
 
@@ -1251,22 +1248,20 @@
   * \return 1 bei Erfolg, 0 sonst.
   * \sa change_password(), change_password2(), change_password3()
   */
-static int change_password4( string str )
+static int change_password4( string str, string passwold, string passwnew )
 {
     write( "\n" );
 
-    if ( !str || str != passw ){
+    if ( !str || str != passwnew ){
         write( "Das war verschieden! Passwort NICHT geaendert.\n" );
-        passwold = passw = 0;
         return 1;
     }
 
-    if ( MASTER->update_password( passwold, passw ) )
+    if ( MASTER->update_password( passwold, passwnew ) )
         write( "Passwort geaendert.\n" );
     else
         write( "Hat nicht geklappt!\n" );
 
-    passwold = passw = 0;
     return 1;
 }
 
@@ -4213,11 +4208,16 @@
 
 private int set_keep_alive(string str) {
   if (str == "ein") {
-    telnet_tm_counter = 240 / __HEART_BEAT_INTERVAL__;
-    tell_object(this_object(), break_string(
-        "An Deinen Client werden jetzt alle 4 Minuten unsichtbare Daten "
+    telnet_tm_counter = QueryProp(P_TELNET_KEEPALIVE_DELAY) || (240 / __HEART_BEAT_INTERVAL__);
+    tell_object(this_object(), break_string( sprintf(
+        "An Deinen Client werden jetzt alle %i Sekunden unsichtbare Daten "
         "geschickt, um zu verhindern, dass Deine Verbindung zum "MUDNAME
-        " beendet wird.", 78));
+        " beendet wird.",
+        telnet_tm_counter*__HEART_BEAT_INTERVAL__), 78));
+    // Bei Magiern ist der HB evtl. ausgeschaltet und muss eingeschaltet
+    // werden.
+    if (!object_info(this_object(), OC_HEART_BEAT))
+      configure_object(this_object(), OC_HEART_BEAT, 1);
   }
   else if (str == "aus") {
     telnet_tm_counter = 0;
diff --git a/std/shells/magier.c b/std/shells/magier.c
index 90da043..efde69f 100644
--- a/std/shells/magier.c
+++ b/std/shells/magier.c
@@ -40,6 +40,7 @@
 #include <properties.h>
 #include <new_skills.h>
 #include <config.h>
+#include <player/telnetneg.h>
 
 protected void create()
 {
@@ -76,7 +77,8 @@
 
   if (!QueryProp(P_WANTS_TO_LEARN)||((en=QueryEnemies())&&sizeof(en[0])))
     base::heart_beat();
-  else if (!CheckTelnetKeepAlive()) {
+  else if (!CheckTelnetKeepAlive(QueryProp(P_TELNET_KEEPALIVE_DELAY)))
+  {
     // Wenn der Magier kein Telnet Keep-Alive wuenscht, kann der HB ganz
     // abgeschaltet werden. Sonst muss er aber weiterlaufen, damit
     // CheckTelnetKeepAlive() regelmaessig gerufen wird.
diff --git a/sys/player/telnetneg.h b/sys/player/telnetneg.h
index 415ed90..6a5f1ca 100644
--- a/sys/player/telnetneg.h
+++ b/sys/player/telnetneg.h
@@ -9,6 +9,7 @@
 #ifndef _TELNETNEG_H_
 #define _TELNETNEG_H_
 
+#define P_TELNET_KEEPALIVE_DELAY "p_lib_telnet_alive_delay"
 #endif
 
 #ifdef NEED_PROTOTYPES
