diff --git a/src/Umbraco.Core/Services/ContentTypeServiceExtensions.cs b/src/Umbraco.Core/Services/ContentTypeServiceExtensions.cs
index f643039dca..fd475c558a 100644
--- a/src/Umbraco.Core/Services/ContentTypeServiceExtensions.cs
+++ b/src/Umbraco.Core/Services/ContentTypeServiceExtensions.cs
@@ -7,6 +7,21 @@ namespace Umbraco.Core.Services
{
public static class ContentTypeServiceExtensions
{
+ ///
+ /// Gets all of the element types (e.g. content types that have been marked as an element type).
+ ///
+ /// The content type service.
+ /// Returns all the element types.
+ public static IEnumerable GetAllElementTypes(this IContentTypeService contentTypeService)
+ {
+ if (contentTypeService == null)
+ {
+ return Enumerable.Empty();
+ }
+
+ return contentTypeService.GetAll().Where(x => x.IsElement);
+ }
+
///
/// Returns the available composite content types for a given content type
///
diff --git a/src/Umbraco.Web/PropertyEditors/NestedContentController.cs b/src/Umbraco.Web/PropertyEditors/NestedContentController.cs
index 8d144c5904..590a286c5d 100644
--- a/src/Umbraco.Web/PropertyEditors/NestedContentController.cs
+++ b/src/Umbraco.Web/PropertyEditors/NestedContentController.cs
@@ -1,5 +1,6 @@
using System.Collections.Generic;
using System.Linq;
+using Umbraco.Core.Services;
using Umbraco.Web.Editors;
using Umbraco.Web.Mvc;
@@ -11,8 +12,8 @@ namespace Umbraco.Web.PropertyEditors
[System.Web.Http.HttpGet]
public IEnumerable