diff --git a/src/plugins/qmldesigner/designercore/model/model.cpp b/src/plugins/qmldesigner/designercore/model/model.cpp
index e80286fc60681f56c4ab95c0abcc774a565b52d3..a780dcf6d5b89b11a03448eaa5978e09b69443d9 100644
--- a/src/plugins/qmldesigner/designercore/model/model.cpp
+++ b/src/plugins/qmldesigner/designercore/model/model.cpp
@@ -96,6 +96,7 @@ ModelPrivate::ModelPrivate(Model *model) :
         m_internalIdCounter(1)
 {
     m_rootInternalNode = createNode("QtQuick/Item", 1, 0, PropertyListType(), PropertyListType(), QString(), ModelNode::NodeWithoutSource,true);
+    m_acutalStateNode = m_rootInternalNode;
 }
 
 ModelPrivate::~ModelPrivate()
diff --git a/src/plugins/qmldesigner/designercore/model/qmlmodelview.cpp b/src/plugins/qmldesigner/designercore/model/qmlmodelview.cpp
index 01b5215905502e70350763d6632609b3b4733aff..531a0fc3baee0c6c5bb4b8ded3207083a86008f9 100644
--- a/src/plugins/qmldesigner/designercore/model/qmlmodelview.cpp
+++ b/src/plugins/qmldesigner/designercore/model/qmlmodelview.cpp
@@ -63,7 +63,11 @@ void QmlModelView::setCurrentState(const QmlModelState &state)
     if (!state.isValid())
         return;
 
-    setAcutalStateNode(state.modelNode());
+    if (!model())
+        return;
+
+    if (actualStateNode() != state.modelNode())
+        setAcutalStateNode(state.modelNode());
 }
 
 QmlModelState QmlModelView::currentState() const