diff --git a/src/Umbraco.Core/Services/IdkMap.cs b/src/Umbraco.Core/Services/IdkMap.cs index 7cf69f2e64..c1981b7b80 100644 --- a/src/Umbraco.Core/Services/IdkMap.cs +++ b/src/Umbraco.Core/Services/IdkMap.cs @@ -76,8 +76,9 @@ namespace Umbraco.Core.Services _locker.EnterWriteLock(); foreach (var pair in pairs) { - _id2Key.Add(pair.id, new TypedId(pair.key, umbracoObjectType)); - _key2Id.Add(pair.key, new TypedId(pair.id, umbracoObjectType)); + + _id2Key[pair.id] = new TypedId(pair.key, umbracoObjectType); + _key2Id[pair.key] = new TypedId(pair.id, umbracoObjectType); } } finally diff --git a/src/Umbraco.Web/Trees/ContentTreeControllerBase.cs b/src/Umbraco.Web/Trees/ContentTreeControllerBase.cs index e8ba964f98..4705e16c7e 100644 --- a/src/Umbraco.Web/Trees/ContentTreeControllerBase.cs +++ b/src/Umbraco.Web/Trees/ContentTreeControllerBase.cs @@ -96,6 +96,12 @@ namespace Umbraco.Web.Trees return null; var treeNode = GetSingleTreeNode(e, parentId, queryStrings); + if (treeNode == null) + { + //this means that the user has NO access to this node via permissions! They at least need to have browse permissions to see + //the node so we need to return null; + return null; + } if (hasPathAccess == false) { treeNode.AdditionalData["noAccess"] = true;