diff --git a/Shorewall/Perl/Shorewall/Chains.pm b/Shorewall/Perl/Shorewall/Chains.pm index 46709a5f0..5b18592ed 100644 --- a/Shorewall/Perl/Shorewall/Chains.pm +++ b/Shorewall/Perl/Shorewall/Chains.pm @@ -2262,7 +2262,7 @@ sub reset_optflags( $$ ) { my $chainref = reftype $chain ? $chain : $filter_table->{$chain}; - $chainref->{optflags} ^= $flags; + $chainref->{optflags} ^= ( $flags & $chainref->{optflags} ); trace( $chainref, "O${flags}", undef, '' ) if $debug;