diff --git a/src/parser/parser.rs b/src/parser/parser.rs index bdda730e..7b1d5130 100644 --- a/src/parser/parser.rs +++ b/src/parser/parser.rs @@ -1563,6 +1563,10 @@ impl<'help, 'cmd> Parser<'help, 'cmd> { } fn start_custom_arg(&self, matcher: &mut ArgMatcher, arg: &Arg<'help>, source: ValueSource) { + if source == ValueSource::CommandLine { + // With each new occurrence, remove overrides from prior occurrences + self.remove_overrides(arg, matcher); + } matcher.start_custom_arg(arg, source); for group in self.cmd.groups_for_arg(&arg.id) { matcher.start_custom_group(&group, source);