diff --git a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp
index 654b05a8b77de77772a09d84b9c1fcb68dc26699..f01763bb674c418a0dc05b4030209c7c3b46f1f3 100644
--- a/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp
+++ b/src/plugins/qmldesigner/components/navigator/navigatortreemodel.cpp
@@ -208,6 +208,9 @@ NavigatorTreeModel::ItemRow NavigatorTreeModel::createItemRow(const ModelNode &n
     visibilityItem->setCheckable(true);
     visibilityItem->setEditable(false);
     visibilityItem->setData(hash, Qt::UserRole);
+    if (node.isRootNode()) {
+        visibilityItem->setEnabled(false);
+    }
 
     #ifdef _LOCK_ITEMS_
     return ItemRow(idItem, lockItem, visibilityItem);
diff --git a/src/plugins/qmldesigner/components/navigator/navigatortreeview.cpp b/src/plugins/qmldesigner/components/navigator/navigatortreeview.cpp
index c319a4176cb4c3da7370187b3c464c88c5a04b96..6338c5c278401aa23b23d7ad7b3945af536b025f 100644
--- a/src/plugins/qmldesigner/components/navigator/navigatortreeview.cpp
+++ b/src/plugins/qmldesigner/components/navigator/navigatortreeview.cpp
@@ -108,16 +108,18 @@ void IconCheckboxItemDelegate::paint(QPainter *painter,
     if (option.state & QStyle::State_Selected)
         drawSelectionBackground(painter, option);
 
-    bool isChecked= (m_TreeModel->itemFromIndex(index)->checkState() == Qt::Checked);
+    if (!m_TreeModel->nodeForIndex(index).isRootNode()) {
 
-    if (m_TreeModel->isNodeInvisible( index ))
-        painter->setOpacity(0.5);
+        bool isChecked= (m_TreeModel->itemFromIndex(index)->checkState() == Qt::Checked);
 
-    if (isChecked)
-        painter->drawPixmap(option.rect.x()+2,option.rect.y()+5,onPix);
-    else
-        painter->drawPixmap(option.rect.x()+2,option.rect.y()+5,offPix);
+        if (m_TreeModel->isNodeInvisible( index ))
+            painter->setOpacity(0.5);
 
+        if (isChecked)
+            painter->drawPixmap(option.rect.x()+2,option.rect.y()+5,onPix);
+        else
+            painter->drawPixmap(option.rect.x()+2,option.rect.y()+5,offPix);
+    }
     painter->restore();
 }