Multi-Path routing and ICMP Echo request message problem

My /ip route configuration is:

[admin@MTRouter] ip route> print detail
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf


6 A S dst-address=0.0.0.0/0 gateway=w.x.y.z interface=public gateway-state=reachable scope=255 target-scope=10

7 A S dst-address=0.0.0.0/0 gateway=a.b.c.1 interface=adsl-pppoe gateway-state=reachable scope=255 target-scope=10 routing-mark=adsl

Everything that is not “adsl marked” (mark routing) in mangle prerouting chain is going through the public interface.

I have problem when from outside location I try to ping (ICMP Echo request message) adsl-pppoe interface IP address (for example a.b.c.75). There is always “timeout”. When I change /ip route configuration in the way to have only 1 gateway through adsl-pppoe interface (gateway through public is disabled, adsl-pppoe don’t have routing-mark and all mark routing rules in mangle prerouting chain is disabled) every ICMP Echo request from outside to adsl-pppoe interface IP address (for example a.b.c.75) returns reply.

Why is that happening and how can I fix this problem?