If a packet is fragmented and the fragments are routed to a machine with ipfilter, the first packet is apparently intercepted while the remaining fragments pass through, which should not happen.
Work Around
The workaround for this bug is to always add NAT entries with SIOCPUTENT that have an associated NAT rule with them - ie. fill out the ipn_ipnat field in the nat_save_t and set ipn_nat.nat_ptr = &ipn_ipnat