Instead of me trying to explain it more, check out this link. It explains, if nothing else, partly why the rule is so convoluted:
http://www.predsff.com/forums/showthread.php?t=375
Looking at that, I think the easiest solution is to just scrap the whole thing and come up with something new.