I've experienced this problem myself. It's only with cards with multiple keywords. Try, for example, making a deck with Crystal Golem and no other holy/unliving cards. Neither holy nor unliving will be used as tokens when you auto set them. My guess is the bug occurs in this line in CDeck.php:
$words = preg_split("/\. ?/", $keywords, -1, PREG_SPLIT_NO_EMPTY);