diff --git a/src/core.c/Main.pm6 b/src/core.c/Main.pm6 index 89a554bae53..9de1505cde1 100644 --- a/src/core.c/Main.pm6 +++ b/src/core.c/Main.pm6 @@ -110,7 +110,8 @@ my sub RUN-MAIN(&main, $mainline, :$in-as-argsfiles) { my ($vol, $dir, $base) = $SPEC.splitpath($name); $dir = $SPEC.canonpath($dir); for $SPEC.path() -> $elem { - if $SPEC.catpath($vol, $elem, $base).IO.x { + my $file = $SPEC.catpath($vol, $elem, $base).IO; + if $file.x && $file.f { return $base if $SPEC.canonpath($elem) eq $dir; # Shadowed command found in earlier PATH element return $name;