diff --git a/src/core/peptideevidence.cpp b/src/core/peptideevidence.cpp
index 2ca7d6b3e79c30c26c79210b16ab85870a160740..748513258b4fdf8df3a3456ccff4039cfd2fe5ab 100644
--- a/src/core/peptideevidence.cpp
+++ b/src/core/peptideevidence.cpp
@@ -52,7 +52,7 @@ PeptideEvidence::PeptideEvidence(const PeptideEvidence & other): PeptideEvidence
     _params = other._params;
     _checked = other._checked;
     _proxy_valid = other._proxy_valid;
-    
+
 }
 
 PeptideEvidenceSp PeptideEvidence::makePeptideEvidenceSp() const {
@@ -117,6 +117,15 @@ void PeptideEvidence::setExperimentalMass(pappso::pappso_double exp_mass) {
 pappso::mz PeptideEvidence::getDeltaMass() const {
     return (_peptide_sp.get()->getMz(1) - (_exp_mass+pappso::MHPLUS));
 }
+pappso::mz PeptideEvidence::getPpmDeltaMass() const {
+    //return (_peptide_sp.get()->getMz(1) - (_exp_mass+pappso::MHPLUS));
+    pappso::pappso_double diff = getDeltaMass();
+    while (diff < -0.5) {
+        diff = diff + pappso::DIFFC12C13;
+    }
+    diff = (diff / getPeptideXtpSp().get()->getMz(1)) * pappso::ONEMILLION;
+    return diff;
+}
 void PeptideEvidence::setCharge(unsigned int charge) {
     _charge =charge;
 }
diff --git a/src/core/peptideevidence.h b/src/core/peptideevidence.h
index 89f1771b6503e9331f33869afb8f76ad99b88371..ff8cfc9255b873cc4372b357fd6d96dfb65c82a8 100644
--- a/src/core/peptideevidence.h
+++ b/src/core/peptideevidence.h
@@ -113,6 +113,11 @@ public :
      * theoretical mhplus mass - mhplus experimental mass
       */
     pappso::mz getDeltaMass() const;
+    
+    /** @brief get delta in ppm between theoretical mhplus mass and mhplus experimental mass
+     * theoretical mhplus mass - mhplus experimental mass
+      */
+    pappso::mz getPpmDeltaMass() const;
 
     ValidationState getValidationState() const;
 
diff --git a/src/core/proteinmatch.cpp b/src/core/proteinmatch.cpp
index 7fb0b3e6af76abbe3ac30651cff30ea97762329e..3d43d3d7b2d85cdeae7e27def32c66e43ec67048 100644
--- a/src/core/proteinmatch.cpp
+++ b/src/core/proteinmatch.cpp
@@ -449,14 +449,13 @@ void ProteinMatch::collectMhDelta(std::set< const PeptideEvidence *> & already_c
     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())) {
-            pappso::pappso_double diff = p_peptide_evidence->getDeltaMass();
             if (unit == pappso::PrecisionUnit::ppm) {
-                while (diff < -0.5) {
-                    diff = diff + pappso::DIFFC12C13;
-                }
-                diff = (diff / p_peptide_evidence->getPeptideXtpSp().get()->getMz(1)) * pappso::ONEMILLION;
+                delta_list.push_back(p_peptide_evidence->getPpmDeltaMass());
+            }
+            else {
+                delta_list.push_back(p_peptide_evidence->getDeltaMass());
             }
-            delta_list.push_back(diff);
+            
             already_counted.insert(p_peptide_evidence);
         }
     }