diff --git a/src/plugins/fakevim/fakevimplugin.cpp b/src/plugins/fakevim/fakevimplugin.cpp
index 72671a37c6020ae2123f23e706a0ac6af405130e..fe283cf862d8ae7f199a20a2aa3937bc3ba69f62 100644
--- a/src/plugins/fakevim/fakevimplugin.cpp
+++ b/src/plugins/fakevim/fakevimplugin.cpp
@@ -157,10 +157,7 @@ void FakeVimPlugin::installHandler()
         return;
     plainTextEdit->removeEventFilter(m_handler);
     plainTextEdit->installEventFilter(m_handler);
-    QFont font = plainTextEdit->font();
-    //font.setFamily("Monospace");
-    m_savedCursorWidth = plainTextEdit->cursorWidth();
-    plainTextEdit->setCursorWidth(QFontMetrics(font).width(QChar('x')));
+    plainTextEdit->setOverwriteMode(true);
 
     //QMainWindow mw;
     connect(m_handler, SIGNAL(commandBufferChanged(QString)),
@@ -175,7 +172,7 @@ void FakeVimPlugin::removeHandler(QObject *ob)
     QPlainTextEdit *plainTextEdit = qobject_cast<QPlainTextEdit *>(ob);
     if (!plainTextEdit)
         return;
-    plainTextEdit->setCursorWidth(m_savedCursorWidth);
+    plainTextEdit->setOverwriteMode(false);
 }
 
 void FakeVimPlugin::showCommandBuffer(const QString &contents)
diff --git a/src/plugins/fakevim/fakevimplugin.h b/src/plugins/fakevim/fakevimplugin.h
index f31ad1e68e6644d9cb797aabec4b0f71f65420de..d424f0eb66e10c513fdae6a0b26ccd0d7784a3f0 100644
--- a/src/plugins/fakevim/fakevimplugin.h
+++ b/src/plugins/fakevim/fakevimplugin.h
@@ -74,7 +74,6 @@ private:
     FakeVimHandler *m_handler;
     ExtensionSystem::PluginManager *m_pm;
     QAction *m_installHandlerAction;
-    int m_savedCursorWidth;
 };
 
 } // namespace Internal