diff --git a/p/service/padreic/mnpc/mnpc.h b/p/service/padreic/mnpc/mnpc.h
index 50544db..3c4749e 100644
--- a/p/service/padreic/mnpc/mnpc.h
+++ b/p/service/padreic/mnpc/mnpc.h
@@ -14,7 +14,7 @@
 // max. Wartezeit zwischen 2 Bewegungen (in Sekunden), welche vom walk_master
 // verwaltet wird. (Muss ganzzahlig durch __HEART_BEAT_INTERVAL__ dividierbar
 // sein)
-#define MAX_MASTER_TIME          180
+#define MAX_MASTER_TIME          182
 
 // ist automatisch in jedem mnpc gesetzt
 #define P_MNPC                    "mnpc"
diff --git a/p/service/padreic/mnpc/moving.c b/p/service/padreic/mnpc/moving.c
index dcd76f5..4d08ab8 100644
--- a/p/service/padreic/mnpc/moving.c
+++ b/p/service/padreic/mnpc/moving.c
@@ -38,7 +38,7 @@
 
 protected void RegisterWalk()
 {
-  if ((QueryProp(MNPC_DELAY)+QueryProp(MNPC_RANDOM))<=MAX_MASTER_TIME)
+  if ((QueryProp(MNPC_DELAY)+QueryProp(MNPC_RANDOM)) < MAX_MASTER_TIME)
   {
     if (!WALK_MASTER->Registration())
       WALK_MASTER->RegisterWalker(QueryProp(MNPC_DELAY),
@@ -67,7 +67,7 @@
         || find_call_out("Walk") > -1)
       return -1;
     // ansonsten MNPC registrieren, falls geeignet.
-    if ((QueryProp(MNPC_DELAY)+QueryProp(MNPC_RANDOM))<=MAX_MASTER_TIME)
+    if ((QueryProp(MNPC_DELAY)+QueryProp(MNPC_RANDOM))<MAX_MASTER_TIME)
       WALK_MASTER->RegisterWalker(QueryProp(MNPC_DELAY), QueryProp(MNPC_RANDOM));
     // und mit kurzer Verzoegerung einmal laufen. (ja, absicht, hier
     // MNPC_DELAY zu nutzen - denn solange dauert das Walk vom Master
@@ -341,7 +341,7 @@
     return 0;
 
   //ggf. neuen Callout eintragen, bevor irgendwas anderes gemacht wird.
-  if ((QueryProp(MNPC_DELAY)+QueryProp(MNPC_RANDOM))>MAX_MASTER_TIME)
+  if ((QueryProp(MNPC_DELAY)+QueryProp(MNPC_RANDOM))>=MAX_MASTER_TIME)
     call_out("Walk", QueryProp(MNPC_DELAY)+random(QueryProp(MNPC_RANDOM)));
 
   // Im Kampf ggf. nicht weitergehen.
diff --git a/p/service/padreic/mnpc/walk_master.c b/p/service/padreic/mnpc/walk_master.c
index 3ae075f..58aecf3 100644
--- a/p/service/padreic/mnpc/walk_master.c
+++ b/p/service/padreic/mnpc/walk_master.c
@@ -62,7 +62,10 @@
   // pruefen ob die Paramter zulaessig sind...
   if (time<0) ERROR("negative time to RegisterWalker() from %O.\n");
   if (rand<0) ERROR("negative random to RegisterWalker() from %O.\n");
-  if ((time+rand) > (MAX_MASTER_TIME))
+  // das max. Delay darf max. MAX_MASTER_TIME-1 sein, sonst landet der MNPC im
+  // HB evtl. wieder in dem Slot, der gerade bearbeitet wird und der direkt
+  // danach komplett genullt wird...
+  if ((time+rand) >= (MAX_MASTER_TIME))
     ERROR("Too long delaytime from %s to RegisterWalker().\n");
 
   if (Registration())
