diff --git a/src/gui/project_view/projectwindow.cpp b/src/gui/project_view/projectwindow.cpp
index 522776aa6ef738d86178aa63ee2562a32e0b88f8..a00a2710ad63d7ab156f7f43842c1b04d945e4ef 100644
--- a/src/gui/project_view/projectwindow.cpp
+++ b/src/gui/project_view/projectwindow.cpp
@@ -218,7 +218,7 @@ void ProjectWindow::refresh() {
 }
 void ProjectWindow::doAutomaticFilterParametersChanged(AutomaticFilterParameters parameters) {
     qDebug() << "ProjectWindow::doAutomaticFilterParametersChanged begin ";
-    //_project_sp.get()->getProteinStore().setRegexpDecoyPattern(ui->contaminant_protein_regexp_line_edit->text());
+    _project_sp.get()->getProteinStore().setRegexpContaminantPattern(ui->contaminant_protein_regexp_line_edit->text());
     _project_sp.get()->updateAutomaticFilters(parameters);
 
     //re group
diff --git a/src/utils/proteinstore.cpp b/src/utils/proteinstore.cpp
index e8619a135cde2e869b95f3517f41118f3a2efec2..763693cc93aa5e0a7a797c0739037875286d829d 100644
--- a/src/utils/proteinstore.cpp
+++ b/src/utils/proteinstore.cpp
@@ -29,13 +29,17 @@
 
 #include "proteinstore.h"
 #include <QDebug>
+#include <QSettings>
 
 
 ProteinStore::ProteinStore()
 {
-    _regexp_contaminant.setPattern("^conta\\|");
+      QSettings settings;
 
-    _regexp_decoy.setPattern(".*\\|reversed$");
+    _regexp_contaminant.setPattern(settings.value("automatic_filter/contaminant_regexp","^conta\\|").toString());
+    _regexp_decoy.setPattern(settings.value("automatic_filter/decoy_regexp",".*\\|reversed$").toString());
+    
+    
 }
 
 ProteinStore::~ProteinStore()
@@ -51,6 +55,8 @@ void ProteinStore::setRegexpContaminantPattern(const QString & pattern) {
     for  (std::pair<const QString, ProteinXtpSp> & acc_protein :_map_accession_protein_list) {
         setProteinInformations(acc_protein.second);
     }
+    QSettings settings;
+    settings.setValue("automatic_filter/contaminant_regexp", pattern);
 }
 QRegExp ProteinStore::getRegexpDecoy() const {
     return (_regexp_decoy);
@@ -61,6 +67,9 @@ void ProteinStore::setRegexpDecoyPattern(const QString & pattern) {
     for  (std::pair<const QString, ProteinXtpSp> & acc_protein :_map_accession_protein_list) {
         setProteinInformations(acc_protein.second);
     }
+        QSettings settings;
+    settings.setValue("automatic_filter/decoy_regexp", pattern);
+
 }
 
 ProteinXtpSp & ProteinStore::getInstance(ProteinXtpSp & peptide_in) {