diff -rupN ElwinR-rl-74351bf23e5e.orig/rogue4/command.c ElwinR-rl-74351bf23e5e.new/rogue4/command.c
--- ElwinR-rl-74351bf23e5e.orig/rogue4/command.c	2018-02-11 21:37:33.000000000 +0100
+++ ElwinR-rl-74351bf23e5e.new/rogue4/command.c	2020-06-10 11:34:31.967601343 +0200
@@ -94,6 +94,7 @@ command(void)
 	{
 	    if (--no_command == 0)
 	    {
+		player.t_flags |= ISRUN; //BUGFIX
 		msg("you can move again");
 	    }
 	}
diff -rupN ElwinR-rl-74351bf23e5e.orig/rogue4/fight.c ElwinR-rl-74351bf23e5e.new/rogue4/fight.c
--- ElwinR-rl-74351bf23e5e.orig/rogue4/fight.c	2018-02-11 21:37:33.000000000 +0100
+++ ElwinR-rl-74351bf23e5e.new/rogue4/fight.c	2020-06-10 09:36:35.750791794 +0200
@@ -54,7 +54,6 @@ fight(coord *mp, char mn, THING *weap, b
      * place.
      */
     count = quiet = 0;
-    runto(mp, &hero);
     /*
      * Let him know it was really a mimic (if it was one).
      */
@@ -95,6 +94,9 @@ fight(coord *mp, char mn, THING *weap, b
 	    bounce(weap, mname);
 	else
 	    miss(NULL, mname);
+
+	if ((tp = moat(mp->y, mp->x)) != NULL) //BUGFIX!
+		runto(mp, &hero);
     return did_hit;
 }
 
diff -rupN ElwinR-rl-74351bf23e5e.orig/rogue4/init.c ElwinR-rl-74351bf23e5e.new/rogue4/init.c
--- ElwinR-rl-74351bf23e5e.orig/rogue4/init.c	2018-02-11 21:37:33.000000000 +0100
+++ ElwinR-rl-74351bf23e5e.new/rogue4/init.c	2020-06-10 09:39:10.867212018 +0200
@@ -29,6 +29,8 @@ init_player(void)
 {
     register THING *obj;
 
+    player.t_flags |= ISRUN; //BUGFIX
+
     pstats = max_stats;
     food_left = HUNGERTIME;
     /*