diff --git a/src/plugins/cpptools/completionsettingspage.cpp b/src/plugins/cpptools/completionsettingspage.cpp
index ad7fa77e739..45cf7f8d066 100644
--- a/src/plugins/cpptools/completionsettingspage.cpp
+++ b/src/plugins/cpptools/completionsettingspage.cpp
@@ -69,6 +69,7 @@ QWidget *CompletionSettingsPage::createPage(QWidget *parent)
 
     m_page->caseSensitive->setChecked(m_completion->caseSensitivity() == Qt::CaseSensitive);
     m_page->autoInsertBraces->setChecked(m_completion->autoInsertBraces());
+    m_page->partiallyComplete->setChecked(m_completion->isPartialCompletionEnabled());
 
     return w;
 }
@@ -79,6 +80,7 @@ void CompletionSettingsPage::finished(bool accepted)
         m_completion->setCaseSensitivity(
                 m_page->caseSensitive->isChecked() ? Qt::CaseSensitive : Qt::CaseInsensitive);
         m_completion->setAutoInsertBraces(m_page->autoInsertBraces->isChecked());
+        m_completion->setPartialCompletionEnabled(m_page->partiallyComplete->isChecked());
     }
 
     delete m_page;
diff --git a/src/plugins/cpptools/completionsettingspage.ui b/src/plugins/cpptools/completionsettingspage.ui
index 10e4273f4d6..372c225943f 100644
--- a/src/plugins/cpptools/completionsettingspage.ui
+++ b/src/plugins/cpptools/completionsettingspage.ui
@@ -17,7 +17,7 @@
    - 
     
      
-      Match completions &case-sensitive
+      &Case-sensitive completion
      
      
       true
@@ -34,6 +34,16 @@
      
     
    
 
+   - 
+    
+     
+      Autocomplete common &prefix
+     
+     
+      true
+     
+    
+   
 
    - 
     
      
diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp
index c7cd3f07a91..09d950a3057 100644
--- a/src/plugins/cpptools/cppcodecompletion.cpp
+++ b/src/plugins/cpptools/cppcodecompletion.cpp
@@ -346,6 +346,16 @@ void CppCodeCompletion::setAutoInsertBraces(bool autoInsertBraces)
     m_autoInsertBraces = autoInsertBraces;
 }
 
+bool CppCodeCompletion::isPartialCompletionEnabled() const
+{
+    return m_partialCompletionEnabled;
+}
+
+void CppCodeCompletion::setPartialCompletionEnabled(bool partialCompletionEnabled)
+{
+    m_partialCompletionEnabled = partialCompletionEnabled;
+}
+
 /*
   Searches beckward for an access operator.
 */
@@ -1030,7 +1040,7 @@ bool CppCodeCompletion::partiallyComplete(const QListvalue(QLatin1String("CaseSensitive"), true).toBool();
     m_completion->setCaseSensitivity(caseSensitive ? Qt::CaseSensitive : Qt::CaseInsensitive);
     m_completion->setAutoInsertBraces(settings->value(QLatin1String("AutoInsertBraces"), true).toBool());
+    m_completion->setPartialCompletionEnabled(settings->value(QLatin1String("PartiallyComplete"), true).toBool());
     settings->endGroup();
     settings->endGroup();
 
@@ -138,6 +139,7 @@ void CppToolsPlugin::shutdown()
     settings->beginGroup(QLatin1String("Completion"));
     settings->setValue(QLatin1String("CaseSensitive"), m_completion->caseSensitivity() == Qt::CaseSensitive);
     settings->setValue(QLatin1String("AutoInsertBraces"), m_completion->autoInsertBraces());
+    settings->setValue(QLatin1String("PartiallyComplete"), m_completion->isPartialCompletionEnabled());
     settings->endGroup();
     settings->endGroup();
 }