diff --git a/src/plugins/fakevim/fakevimplugin.cpp b/src/plugins/fakevim/fakevimplugin.cpp
index 30a8c74d7750ab9b41c04106d5e92d562ad379b4..50d45ff8769f1731c67317ca938dca7be727a9fd 100644
--- a/src/plugins/fakevim/fakevimplugin.cpp
+++ b/src/plugins/fakevim/fakevimplugin.cpp
@@ -186,6 +186,10 @@ void FakeVimPluginPrivate::installHandler(Core::IEditor *editor)
     QWidget *widget = editor->widget();
     if (!widget)
         return;
+
+    // we can only handle QTextEdit and QPlainTextEdit
+    if (!qobject_cast<QTextEdit *>(widget) && !qobject_cast<QPlainTextEdit *>(widget))
+        return;
     
     FakeVimHandler *handler = new FakeVimHandler(widget, widget);