diff --git a/src/plugins/designer/formeditorstack.cpp b/src/plugins/designer/formeditorstack.cpp
index c0620b7164c943a14b1e1e3ca20a8ce8b361ed64..31488281212c3240ae1af85a7fdb21c1dafd4c46 100644
--- a/src/plugins/designer/formeditorstack.cpp
+++ b/src/plugins/designer/formeditorstack.cpp
@@ -37,6 +37,7 @@
 #include "formwindoweditor.h"
 #include "formeditorw.h"
 #include "designerconstants.h"
+#include "qt_private/formwindowbase_p.h"
 
 #include <QtCore/QStringList>
 
@@ -130,12 +131,12 @@ void FormEditorStack::formChanged()
         TextEditor::BaseTextDocument *doc = qobject_cast<TextEditor::BaseTextDocument*>(activeEditor->xmlEditor->file());
         Q_ASSERT(doc);
         if (doc) {
-            doc->document()->setPlainText(activeEditor->formEditor->contents());
+            // Save quietly (without spacer's warning).
+            if (const qdesigner_internal::FormWindowBase *fwb = qobject_cast<const qdesigner_internal::FormWindowBase *>(activeEditor->formEditor))
+                doc->document()->setPlainText(fwb->fileContents());
         }
     }
-
 }
 
-
 } // Internal
 } // Designer