diff --git a/src/plugins/qmldesigner/core/model/modeltotextmerger.cpp b/src/plugins/qmldesigner/core/model/modeltotextmerger.cpp
index 405f7ad44a1f9517d0a44befd36ae3071cf3d129..41f8c1d6f10b3691bc5e2f1f0126946409801840 100644
--- a/src/plugins/qmldesigner/core/model/modeltotextmerger.cpp
+++ b/src/plugins/qmldesigner/core/model/modeltotextmerger.cpp
@@ -228,7 +228,7 @@ bool ModelToTextMerger::applyChanges()
         for (int i = 0; i < m_rewriteActions.size(); ++i) {
             if (i != 0) {
                 textModifier->flushGroup();
-                refactoring.reparseDocument();
+                success = refactoring.reparseDocument();
             }
 
             RewriteAction* action = m_rewriteActions.at(i);
@@ -237,7 +237,8 @@ bool ModelToTextMerger::applyChanges()
             }
 
             ModelNodePositionStorage *positionStore = m_rewriterView->positionStorage();
-            success = action->execute(refactoring, *positionStore);
+            if (success)
+                success = action->execute(refactoring, *positionStore);
 
             if (!success /*&& DebugRewriteActions*/) {
                 qDebug() << "*** QML source code: ***";