diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp
index dcec76f36735a6532bb6267b303f73be42c823fd..53a471bae0a6d5131f35df071abb3bd141195d5a 100644
--- a/src/plugins/cppeditor/cppeditor.cpp
+++ b/src/plugins/cppeditor/cppeditor.cpp
@@ -81,6 +81,7 @@
 #include <QtCore/QTime>
 #include <QtCore/QTimer>
 #include <QtCore/QStack>
+#include <QtCore/QSettings>
 #include <QtGui/QAction>
 #include <QtGui/QApplication>
 #include <QtGui/QHeaderView>
@@ -765,8 +766,32 @@ void CPPEditor::renameUsages()
     renameUsagesNow();
 }
 
+bool CPPEditor::showWarningMessage() const
+{
+    // Restore settings
+    QSettings *settings = Core::ICore::instance()->settings();
+    settings->beginGroup(QLatin1String("CppEditor"));
+    settings->beginGroup(QLatin1String("Rename"));
+    const bool showWarningMessage = settings->value(QLatin1String("ShowWarningMessage"), true).toBool();
+    settings->endGroup();
+    settings->endGroup();
+    return showWarningMessage;
+}
+
+void CPPEditor::setShowWarningMessage(bool showWarningMessage)
+{
+    // Restore settings
+    QSettings *settings = Core::ICore::instance()->settings();
+    settings->beginGroup(QLatin1String("CppEditor"));
+    settings->beginGroup(QLatin1String("Rename"));
+    settings->setValue(QLatin1String("ShowWarningMessage"), showWarningMessage);
+    settings->endGroup();
+    settings->endGroup();
+}
+
 void CPPEditor::hideRenameNotification()
 {
+    setShowWarningMessage(false);
     Core::EditorManager::instance()->hideEditorInfoBar(QLatin1String("CppEditor.Rename"));
 }
 
@@ -774,10 +799,12 @@ void CPPEditor::renameUsagesNow()
 {
     if (Symbol *canonicalSymbol = markSymbols()) {
         if (canonicalSymbol->identifier() != 0) {
-            Core::EditorManager::instance()->showEditorInfoBar(QLatin1String("CppEditor.Rename"),
-                                                               tr("This change cannot be undone."),
-                                                               tr("Yes, I know what I am doing."),
-                                                               this, SLOT(hideRenameNotification()));
+            if (showWarningMessage()) {
+                Core::EditorManager::instance()->showEditorInfoBar(QLatin1String("CppEditor.Rename"),
+                                                                   tr("This change cannot be undone."),
+                                                                   tr("Yes, I know what I am doing."),
+                                                                   this, SLOT(hideRenameNotification()));
+            }
 
             m_modelManager->renameUsages(canonicalSymbol);
         }
diff --git a/src/plugins/cppeditor/cppeditor.h b/src/plugins/cppeditor/cppeditor.h
index c0c323a93d9c644cb79ad57a59c85b7da3b1703f..9518e27a21e67d98998d4d8435571123a6272937 100644
--- a/src/plugins/cppeditor/cppeditor.h
+++ b/src/plugins/cppeditor/cppeditor.h
@@ -235,6 +235,9 @@ private Q_SLOTS:
     void updateSemanticInfo(const SemanticInfo &semanticInfo);
 
 private:
+    bool showWarningMessage() const;
+    void setShowWarningMessage(bool showWarningMessage);
+
     CPlusPlus::Symbol *markSymbols();
     bool sortedMethodOverview() const;
     CPlusPlus::Symbol *findDefinition(CPlusPlus::Symbol *symbol);