Hi i'm trying to do a advance filter for spam, like this: enabled rulename "" header "X-SpamBayes-Classification" regexpcase "unsure; 0.[6-9]" & ~header "X-Spambayes-Trained" matchcase "ham" & ~header "X-Spambayes-Trained" matchcase "spam" move "#mh/Mailbox/Extras/Spam/z-high" enabled rulename "" header "X-SpamBayes-Classification" regexpcase "unsure; 0.[4-6]" & ~header "X-Spambayes-Trained" matchcase "ham" & ~header "X-Spambayes-Trained" matchcase "spam" move "#mh/Mailbox/Extras/Spam//z-med" enabled rulename "" header "X-SpamBayes-Classification" regexpcase "unsure; 0.[2-3]" & ~header "X-Spambayes-Trained" matchcase "ham" & ~header "X-Spambayes-Trained" matchcase "spam" move "#mh/Mailbox/Extras/Spam/z-low" That is, filter by spam score, but only if it's not a trained message... this rules work fine on trained messages, but on all other messages, the header X-Spambayes-Trained is not there, so this rule fails... when it should apply... if the header in not there, the test for a 'header "X-Spambayes-Trained" matchcase "ham"' would fail, so negate that and you have that the rule applies if that doesnt change, there is any way to test the lack of a header