diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp
index def7aca21bf8f744b890a04e4b24bb9adb4f3837..7172e50f0aed92a9e3597472ae559300bfea34c0 100644
--- a/src/plugins/fakevim/fakevimhandler.cpp
+++ b/src/plugins/fakevim/fakevimhandler.cpp
@@ -1406,13 +1406,15 @@ void FakeVimHandler::Private::handleExCommand(const QString &cmd0)
             showRedMessage(tr("File '%1' exists (add ! to override)").arg(fileName));
         } else if (file.open(QIODevice::ReadWrite)) {
             file.close();
+            QTextCursor tc = m_tc;
             selectRange(beginLine, endLine);
             QString contents = selectedText(); 
+            m_tc = tc;
             bool handled = false;
             emit q->writeFileRequested(&handled, fileName, contents);
             // nobody cared, so act ourselves
             if (!handled) {
-                qDebug() << "HANDLING MANUAL SAVE";
+                //qDebug() << "HANDLING MANUAL SAVE";
                 QFile file(fileName);
                 file.open(QIODevice::ReadWrite);
                 { QTextStream ts(&file); ts << contents; }