I lost custom theme created in SP2007 site upon migration to SP2010 using content database upgrade. I read somewhere that I need to copy existing theme from the C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\THEMES directory into the new directory.

Edit the C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\1033\SPTHEMES.XML file and add a section for the new theme

This however causes an error when I try to access Site theme page. Any guidance would be helpful.

Regards, Lav

1 Answer 1


Unfortunately 2007 themes cannot be migrated to 2010 without additional work.

See below for some Q&A regarding themes. Source.

Q: When I apply visual upgrade, what will happened to my custom themes?

A: Site Themes are not great at upgrading, this post has more info on this: http://social.msdn.microsoft.com/Forums/en-US/sharepointcustomization/thread/3cddce14-bd87-489a-871e-8ebc600223c8/ and here: http://blogs.blumshapiroconsulting.com/jjkblog/archive/2010/05.aspx


Q: In case that custom themes are not working correctly, what are my options to fix them?

A: Recreate them in 2010. You can even use "PowerPoint" which makes life really easy: http://andreasglaser.net/post/2009/12/16/SharePoint-2010-themes-compared-to-SharePoint-2007-themes.aspx


Q: How can apply these new corrected site theme to all existing sites? Can I do mass update or do I have to apply one by one...or other options?

A: You can achieve that programmatically, or with PowerShell. Here are a few links that could help: http://www.powershell.nu/2009/03/08/set-themeps1-set-theme-in-sharepoint-using-powershell/ and http://blog.falchionconsulting.com/index.php/2008/01/apply-theme/

  • Thanks a lot for the detailed explanation and for answering many of my doubts. I created master pages at subsite level and used the css from my older theme using cssRegistration. That corrected the issue.
    – Lav
    Commented Apr 24, 2012 at 9:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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