diff --git a/src/plugins/qmljseditor/qmljsoutline.cpp b/src/plugins/qmljseditor/qmljsoutline.cpp
index b80d746078aae0eb058283def919f5b670b406a6..66d505672b739ed3b55f632b22dc5161da2acb71 100644
--- a/src/plugins/qmljseditor/qmljsoutline.cpp
+++ b/src/plugins/qmljseditor/qmljsoutline.cpp
@@ -44,8 +44,7 @@ bool QmlJSOutlineFilterModel::filterAcceptsRow(int sourceRow,
     if (m_filterBindings) {
         QModelIndex sourceIndex = sourceModel()->index(sourceRow, 0, sourceParent);
         QVariant itemType = sourceIndex.data(QmlOutlineModel::ItemTypeRole);
-        Q_ASSERT(itemType.isValid());
-        if (itemType.isValid() && itemType == QmlOutlineModel::PropertyType) {
+        if (itemType == QmlOutlineModel::PropertyType) {
             return false;
         }
     }
diff --git a/src/plugins/qmljseditor/qmloutlinemodel.cpp b/src/plugins/qmljseditor/qmloutlinemodel.cpp
index 77eae8d008a3daf116d94d502ee57b656c4ff0f4..9064277687bf1cb780cd5582afd5a15f97fb9f0f 100644
--- a/src/plugins/qmljseditor/qmloutlinemodel.cpp
+++ b/src/plugins/qmljseditor/qmloutlinemodel.cpp
@@ -347,20 +347,28 @@ QModelIndex QmlOutlineModel::enterObjectDefinition(AST::UiObjectDefinition *objD
     QmlOutlineItem prototype(this);
 
     const QString typeName = asString(objDef->qualifiedTypeNameId);
-    const QString id = getId(objDef);
-    if (!id.isEmpty()) {
-        prototype.setText(id);
+
+    if (typeName.at(0).isUpper()) {
+        const QString id = getId(objDef);
+        if (!id.isEmpty()) {
+            prototype.setText(id);
+        } else {
+            prototype.setText(typeName);
+        }
+        if (!m_typeToIcon.contains(typeName)) {
+            m_typeToIcon.insert(typeName, getIcon(objDef));
+        }
+        prototype.setIcon(m_typeToIcon.value(typeName));
+        prototype.setData(ElementType, ItemTypeRole);
+        prototype.setIdNode(objDef->qualifiedTypeNameId);
     } else {
+        // it's a grouped propery like 'anchors'
         prototype.setText(typeName);
+        prototype.setIcon(m_icons->scriptBindingIcon());
+        prototype.setData(PropertyType, ItemTypeRole);
     }
-    if (!m_typeToIcon.contains(typeName)) {
-        m_typeToIcon.insert(typeName, getIcon(objDef));
-    }
-    prototype.setIcon(m_typeToIcon.value(typeName));
-    prototype.setData(ElementType, ItemTypeRole);
     prototype.setSourceLocation(getLocation(objDef));
     prototype.setNode(objDef);
-    prototype.setIdNode(objDef->qualifiedTypeNameId);
 
     return enterNode(prototype);
 }