When updating nodes from the content admin page (admin/content/node) such as publishing NAT nodes, the function _nat_update_terms checks $node->taxonomy for an index that matches the NAT vocabulary ID. When saving a node from a form, this array's index is the vocabulary ID. However, when saving a node that hasn't been sent through the node form, $node->taxonomy is indexed by term ID. If the node has a term whose tid is the same as a NAT term's vid, the NAT term will become a child of that wrong term.

IN my case, this happened with the NAT term itself, and the term was made its own parent. This caused all kinds of havoc, as taxonomy module does not check to prevent this from happening.

Comments

Anonymous’s picture

Title: when updating nodes from the content admin screen, NAT terms where tid == vid become parents of themselves » when updating nodes from the content admin screen, NAT terms where tid == NAT vid become parents of themselves
Zen’s picture

Status: Active » Closed (duplicate)

http://drupal.org/node/188377

The content admin screen uses the node_save operation as in the above issue; hence your bug ...

Thanks,
-K