diff --git a/src/core/identificationgroup.cpp b/src/core/identificationgroup.cpp
index b833fcf53070eec33b935c22f24ca744c5ec77f7..71c2ab93658d067fcff36b30b28d6d389d3749a0 100644
--- a/src/core/identificationgroup.cpp
+++ b/src/core/identificationgroup.cpp
@@ -231,14 +231,24 @@ std::size_t IdentificationGroup::countSubGroup()const {
 }
 
 void IdentificationGroup::collectMhDelta(std::vector< pappso::pappso_double> & delta_list, pappso::PrecisionUnit unit, ValidationState state) const {
-    std::set<const PeptideEvidence *> already_counted;
+    std::set<const PeptideEvidence *> peptide_evidence_list;
     for (auto & p_protein_match : _protein_match_list) {
         if (p_protein_match->getValidationState() >= state) {
             if (!p_protein_match->getProteinXtpSp().get()->isDecoy()) {
-                p_protein_match->collectMhDelta(already_counted, delta_list, unit, state);
+                //p_protein_match->collectMhDelta(already_counted, delta_list, unit, state);
+                p_protein_match->collectPeptideEvidences(peptide_evidence_list, state);
             }
         }
     }
+    for (const PeptideEvidence * p_peptide_evidence: peptide_evidence_list) {
+        if (unit == pappso::PrecisionUnit::ppm) {
+            delta_list.push_back(p_peptide_evidence->getPpmDeltaMass());
+        }
+        else {
+            delta_list.push_back(p_peptide_evidence->getDeltaMass());
+        }
+    }
+
 }
 void IdentificationGroup::startGrouping (const GroupingType & grouping_type, WorkMonitorInterface * p_work_monitor) {
     qDebug() << "IdentificationGroup::startGrouping begin ";
diff --git a/src/core/identificationgroup.h b/src/core/identificationgroup.h
index fcd3e485f5418afe87b5b80c4c07fc99d5f70a3f..bfb0d532d43aa578ddca3ade8247230847a54c45 100644
--- a/src/core/identificationgroup.h
+++ b/src/core/identificationgroup.h
@@ -126,6 +126,10 @@ public:
 
     bool contains (const MsRun * p_msrun) const;
 
+    
+    /** @brief collect mass delta between theoretical mass and observed mass
+     * each peptide evidence is only counted once
+     */
     void collectMhDelta(std::vector< pappso::pappso_double> & delta_list, pappso::PrecisionUnit unit, ValidationState state) const;
 private :
 
diff --git a/src/core/proteinmatch.cpp b/src/core/proteinmatch.cpp
index 3d43d3d7b2d85cdeae7e27def32c66e43ec67048..ced11738b2054e9aeee08d1a2adab946345df6d4 100644
--- a/src/core/proteinmatch.cpp
+++ b/src/core/proteinmatch.cpp
@@ -445,22 +445,6 @@ void ProteinMatch::setGroupInstance(GroupStore & group_store) {
 }
 
 
-void ProteinMatch::collectMhDelta(std::set< const PeptideEvidence *> & already_counted, std::vector< pappso::pappso_double> & delta_list, pappso::PrecisionUnit unit, ValidationState state) const {
-    for (auto & peptide_match : _peptide_match_list) {
-        const PeptideEvidence * p_peptide_evidence = peptide_match.getPeptideEvidence();
-        if ((p_peptide_evidence->getValidationState() >= state)&&(already_counted.find(p_peptide_evidence) == already_counted.end())) {
-            if (unit == pappso::PrecisionUnit::ppm) {
-                delta_list.push_back(p_peptide_evidence->getPpmDeltaMass());
-            }
-            else {
-                delta_list.push_back(p_peptide_evidence->getDeltaMass());
-            }
-            
-            already_counted.insert(p_peptide_evidence);
-        }
-    }
-}
-
 void ProteinMatch::collectPeptideEvidences(std::set<const PeptideEvidence *> & peptide_evidence_set, ValidationState state) const {
     for (auto & peptide_match : _peptide_match_list) {
         const PeptideEvidence * p_peptide_evidence = peptide_match.getPeptideEvidence();
diff --git a/src/core/proteinmatch.h b/src/core/proteinmatch.h
index 22c31745cdeafce35d9f62345cb018338d2beb08..37ccefb7e4ac1e039c046f18c4a30e8368da2d89 100644
--- a/src/core/proteinmatch.h
+++ b/src/core/proteinmatch.h
@@ -114,10 +114,6 @@ public:
     * */
     void updateAutomaticFilters(const AutomaticFilterParameters & automatic_filter_parameters);
 
-    /** @brief collect mass delta between theoretical mass and observed mass
-     * each peptide evidence is only counted once
-     */
-    void collectMhDelta(std::set<const PeptideEvidence *> & already_counted, std::vector< pappso::pappso_double> & delta_list, pappso::PrecisionUnit unit, ValidationState state) const;
     
     /** @brief collect distinct peptide evidences
      */