diff --git a/src/plugins/find/findtoolbar.cpp b/src/plugins/find/findtoolbar.cpp
index 2dff2fdc37896b4fcefdee9fc6b2f89bae3b0b9b..3b8102848fccd38160c9ac3fe9f52c455ccd0350 100644
--- a/src/plugins/find/findtoolbar.cpp
+++ b/src/plugins/find/findtoolbar.cpp
@@ -349,7 +349,10 @@ QString FindToolBar::getReplaceText()
 void FindToolBar::setFindText(const QString &text)
 {
     disconnect(m_ui.findEdit, SIGNAL(textChanged(const QString&)), this, SLOT(invokeFindIncremental()));
-    m_ui.findEdit->setText(text);
+    if (hasFindFlag(IFindSupport::FindRegularExpression))
+        m_ui.findEdit->setText(QRegExp::escape(text));
+    else
+        m_ui.findEdit->setText(text);
     connect(m_ui.findEdit, SIGNAL(textChanged(const QString&)), this, SLOT(invokeFindIncremental()));
 }