Index: pathauto_node.inc =================================================================== RCS file: /cvs/drupal/contributions/modules/pathauto/pathauto_node.inc,v retrieving revision 1.29 diff -u -r1.29 pathauto_node.inc --- pathauto_node.inc 11 Nov 2006 23:34:51 -0000 1.29 +++ pathauto_node.inc 2 Dec 2006 20:56:04 -0000 @@ -158,7 +158,15 @@ // When editing a node, the taxonomy array might have one or more zero // term IDs. Ignore them... foreach ($node->taxonomy as $firsttermid) { - if ($firsttermid) { + if (is_array($firsttermid)) { + foreach ($firsttermid as $tempid) { + if($tempid && is_numeric($tempid)) { + $firsttermid = $tempid; + break; + } + } + } + if ($firsttermid && is_numeric($firsttermid)) { break; } } Index: pathauto_taxonomy.inc =================================================================== RCS file: /cvs/drupal/contributions/modules/pathauto/pathauto_taxonomy.inc,v retrieving revision 1.20 diff -u -r1.20 pathauto_taxonomy.inc --- pathauto_taxonomy.inc 11 Nov 2006 23:17:58 -0000 1.20 +++ pathauto_taxonomy.inc 2 Dec 2006 20:56:10 -0000 @@ -63,16 +63,15 @@ $placeholders[t('[cat]')] = pathauto_cleanstring($category->name); $placeholders[t('[tid]')] = $category->tid; - if ($category->parent) { $catpath = pathauto_cleanstring($category->name); - $parents = taxonomy_get_parents_all($category->parent); + $parents = taxonomy_get_parents_all(array_shift($category->parent)); } else { $catpath = ''; $parents = taxonomy_get_parents_all($category->tid); } - + foreach ($parents as $parent) { $catpath = pathauto_cleanstring($parent->name).'/'.$catpath; }