SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Let me paint the scenario.

  1. I have a list of terms in a termset
  2. I have a list with a taxonomy field, this points to the termset
  3. Filtering is working. By this I mean in List settings, under Metadata navigation settings , you can create filters.

  4. I delete all the terms from the termset (But I do not delete the termset).

  5. I recreate all the terms in the termset with the exact same name, description and custom props.
  6. I then visually inspect the list - in the default view I can see the taxonomy field has legitimate values, like it did before. But filtering is not working. No results are returned.

So it would seem that taxonomy field linking in the background happens based on the term ID, which ofc now changes for every term , when I delete and recreate the term.

What to do about this scenario?

My idea is :

Run a clean up command for each affected list after termset contents change. By this I mean scanning each list -> checking each list item, getting the text value of the field, then finding the term based on this, and updating the field value correctly with a term.

Does anyone have a better solution?

Thanks in advance, and sorry for long post.

share|improve this question

Your solution would be the only way to go. The terms are internally referenced by their id (guid). This id changes if you delete and recreate your terms and the connection to the assigned metadata is lost.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.