diff --git a/src/plugins/cpptools/cpprefactoringchanges.cpp b/src/plugins/cpptools/cpprefactoringchanges.cpp
index f6e4766c8aa5fba78a0a4c6c942d0213eb87ced0..d03ec51da743f8f4fd346bc7ea8c2c438a247e5a 100644
--- a/src/plugins/cpptools/cpprefactoringchanges.cpp
+++ b/src/plugins/cpptools/cpprefactoringchanges.cpp
@@ -69,7 +69,8 @@ Document::Ptr CppRefactoringChanges::parsedDocumentForFile(const QString &fileNa
         file.close();
     }
 
-    doc = m_snapshot.documentFromSource(source.toLatin1(), fileName);
+    const QByteArray contents = m_snapshot.preprocessedCode(source, fileName);
+    doc = m_snapshot.documentFromSource(contents, fileName);
     doc->check();
     return doc;
 }