diff --git a/src/plugins/qmldesigner/designercore/model/model.cpp b/src/plugins/qmldesigner/designercore/model/model.cpp
index 4f046fdd4bf8d4cf92e451186e86018771bee489..c320ee8ff3085ace8a0f344a451f1051febbb006 100644
--- a/src/plugins/qmldesigner/designercore/model/model.cpp
+++ b/src/plugins/qmldesigner/designercore/model/model.cpp
@@ -532,13 +532,10 @@ void ModelPrivate::setAuxiliaryData(const InternalNode::Pointer& node, const QSt
 
 void ModelPrivate::resetModelByRewriter(const QString &description)
 {
-    RewriterView* rewriterView = 0;
-    foreach (const QWeakPointer<AbstractView> &view, m_viewList) {
-        if (!rewriterView)
-            rewriterView = qobject_cast<RewriterView*>(view.data());
+    if (rewriterView()) {
+        rewriterView()->resetToLastCorrectQml();
     }
-    Q_ASSERT(rewriterView);
-    rewriterView->resetToLastCorrectQml();
+
     throw RewritingException(__LINE__, __FUNCTION__, __FILE__, description, rewriterView->textModifierContent());
 }