If you want to add a SiteAdministrator to a SiteCollection you can't add the user to the SPUserCollection SPWeb.SiteAdministrators . SPWeb.SiteAdministrators.Add() SPUserCollection SPWeb.SiteAdministrators is of type SPUserCollectionType.UCT_SiteAdmins (6), which appears that SharePoint is not taking care of. If it's a bug, i don't know. Instead you have to set the property IsSiteAdmin of the SPUser to True; SPWeb web = SPContext.Current.Web; SPUser user = web.AllUsers["loginName"]; user.IsSiteAdmin = true; user.Update();