anchor.diff:                      end;
                     end;
                   end;
  -
  +                //Not selecting direction now (must do it at the end because SelectingTroopDirection is used for Walk above)
  +                ReleaseDirectionSelector;
                 end;
       mbMiddle: if DEBUG_CHEATS and (MULTIPLAYER_CHEATS or not fMultiplayer) then
                   fGame.GameInputProcess.CmdTemp(gic_TempAddScout, P);
  
positive.code:                   end
                end;
      mbRight:  begin
                  //Select direction
                  ReleaseDirectionSelector;
  
                  //Cancel build/join
                  if Panel_Build.Visible then
                    SwitchPage(Button_Back);
  
negative.code:       U := fTerrain.UnitsHitTest(GameCursor.Cell.X, GameCursor.Cell.Y);
        H := fPlayers.HousesHitTest(GameCursor.Cell.X, GameCursor.Cell.Y);
        if ((U = nil) or U.IsDeadOrDying or (fPlayers.CheckAlliance(MyPlayer.PlayerIndex, U.Owner) = at_Ally)) and
           ((H = nil) or (fPlayers.CheckAlliance(MyPlayer.PlayerIndex, H.Owner) = at_Ally)) then
        begin
          if Group.CanWalkTo(GameCursor.Cell, 0) then
          begin
            SelectingTroopDirection := True; //MouseMove will take care of cursor changing
            //Restrict the cursor to inside the main panel so it does not get jammed when used near the edge of the window in windowed mode
            {$IFDEF MSWindows}
            MyRect := fMain.ClientRect;
            ClipCursor(@MyRect);
            {$ENDIF}
            //Now record it as Client XY
            SelectingDirPosition.X := X;
            SelectingDirPosition.Y := Y;
            SelectedDirection := dir_NA;
            DirectionCursorShow(X, Y, SelectedDirection);
            fResource.Cursors.Cursor := kmc_Invisible;
          end
          else
            fSoundLib.Play(sfx_CantPlace, GameCursor.Cell, False, 4.0);
        end;
      end;
    end;
  