diff --git a/InnerDetector/InDetRecTools/TRT_ElectronPidTools/src/TRT_ElectronPidToolRun2.cxx b/InnerDetector/InDetRecTools/TRT_ElectronPidTools/src/TRT_ElectronPidToolRun2.cxx
index 6c7ba6afe3e84049d7b2bba6acfd2c76c988be56..ba06091a9be27651b425ccd1257d4889d382faa3 100644
--- a/InnerDetector/InDetRecTools/TRT_ElectronPidTools/src/TRT_ElectronPidToolRun2.cxx
+++ b/InnerDetector/InDetRecTools/TRT_ElectronPidTools/src/TRT_ElectronPidToolRun2.cxx
@@ -135,15 +135,7 @@ StatusCode InDet::TRT_ElectronPidToolRun2::finalize()
 std::vector<float> InDet::TRT_ElectronPidToolRun2::electronProbability_old(const Trk::Track& track)
 {
   // Simply return values without calculation
-  std::vector<float> PIDvalues(Trk::numberOfeProbabilityTypes);
-  PIDvalues[Trk::eProbabilityComb] = 0.5;
-  PIDvalues[Trk::eProbabilityHT] = 0.5;
-  PIDvalues[Trk::eProbabilityToT] = 0.5;
-  PIDvalues[Trk::eProbabilityBrem] = 0.5;
-  PIDvalues[Trk::eProbabilityNN] = 0.5;
-  PIDvalues[Trk::TRTTrackOccupancy] = 0.0;
-  PIDvalues[Trk::TRTdEdx] = 0.0;
-  PIDvalues[Trk::eProbabilityNumberOfTRTHitsUsedFordEdx] = 0.0;
+  std::vector<float> PIDvalues = defaultElectronProbability();
   const Trk::TrackParameters* perigee = track.perigeeParameters();
   if (!perigee) { return PIDvalues; }
   return PIDvalues;
@@ -175,15 +167,7 @@ InDet::TRT_ElectronPidToolRun2::electronProbability(const Trk::Track& track) con
  }
 
   // Initialize the vector with default PID values
-  std::vector<float> PIDvalues(Trk::numberOfeProbabilityTypes);
-  PIDvalues[Trk::eProbabilityComb] = 0.5;
-  PIDvalues[Trk::eProbabilityHT] = 0.5;
-  PIDvalues[Trk::eProbabilityToT] = 0.5;
-  PIDvalues[Trk::eProbabilityBrem] = 0.5;
-  PIDvalues[Trk::eProbabilityNN] = 0.5;
-  PIDvalues[Trk::TRTTrackOccupancy] = 0.0;
-  PIDvalues[Trk::TRTdEdx] = 0.0;
-  PIDvalues[Trk::eProbabilityNumberOfTRTHitsUsedFordEdx] = 0.0;
+  std::vector<float> PIDvalues = defaultElectronProbability();
 
   // Check for perigee:
   const Trk::TrackParameters* perigee = track.perigeeParameters();
diff --git a/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/ITRT_ElectronPidTool.h b/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/ITRT_ElectronPidTool.h
index 12091989f1e6b45ea2763c516bbc70105d773a9c..75fcb362e09ad81a06898e0ff206f34f25417a34 100644
--- a/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/ITRT_ElectronPidTool.h
+++ b/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/ITRT_ElectronPidTool.h
@@ -10,6 +10,7 @@
 
 #include "GaudiKernel/IAlgTool.h"
 #include "TrkEventPrimitives/ParticleHypothesis.h"
+#include "TrkTrackSummary/TrackSummary.h"
 #include <vector>
 
 namespace Trk {
@@ -44,7 +45,18 @@ namespace Trk {
     virtual double probHT( const double p, const Trk::ParticleHypothesis hypothesis, const int HitPart, const int Layer, const int Strawlayer) const = 0;
     virtual double probHTRun2( float pTrk, Trk::ParticleHypothesis hypothesis, int TrtPart, int GasType, int StrawLayer, float ZR, float rTrkWire, float Occupancy ) const = 0;
 
-
+    static std::vector<float> defaultElectronProbability() {
+      std::vector<float> PIDvalues(Trk::numberOfeProbabilityTypes);
+      PIDvalues[Trk::eProbabilityComb] = 0.5;
+      PIDvalues[Trk::eProbabilityHT] = 0.5;
+      PIDvalues[Trk::eProbabilityToT] = 0.5;
+      PIDvalues[Trk::eProbabilityBrem] = 0.5;
+      PIDvalues[Trk::eProbabilityNN] = 0.5;
+      PIDvalues[Trk::TRTTrackOccupancy] = 0.0;
+      PIDvalues[Trk::TRTdEdx] = 0.0;
+      PIDvalues[Trk::eProbabilityNumberOfTRTHitsUsedFordEdx] = 0.0;
+      return PIDvalues;
+    }
 
   };
 
diff --git a/Tracking/TrkTools/TrkTrackSummaryTool/src/TrackSummaryTool.cxx b/Tracking/TrkTools/TrkTrackSummaryTool/src/TrackSummaryTool.cxx
index ead091f996a2e913f01ac5f91a7efd2f63a7d9a8..b2cdf960cdebfa7417403cca32de58bd45c61976 100755
--- a/Tracking/TrkTools/TrkTrackSummaryTool/src/TrackSummaryTool.cxx
+++ b/Tracking/TrkTools/TrkTrackSummaryTool/src/TrackSummaryTool.cxx
@@ -4,6 +4,7 @@
 
 #include "TrkTrackSummaryTool/TrackSummaryTool.h"
 #include "TrkToolInterfaces/ITrackHoleSearchTool.h"
+#include "TrkToolInterfaces/ITRT_ElectronPidTool.h"
 #include "TrkEventPrimitives/FitQualityOnSurface.h"
 #include "TrkEventPrimitives/ParticleHypothesis.h"
 
@@ -191,7 +192,7 @@ information.resize(std::min(information.size(),
                             static_cast<size_t>(numberOfTrackSummaryTypes)));
 
 // Troels.Petersen@cern.ch:
-std::vector<float> eProbability(Trk::numberOfeProbabilityTypes, 0.5);
+std::vector<float> eProbability = ITRT_ElectronPidTool::defaultElectronProbability();
 
   float dedx = -1;
   int nhitsuseddedx = -1;
@@ -339,7 +340,7 @@ void Trk::TrackSummaryTool::updateSharedHitCount(const Track& track, const Trk::
 
 void Trk::TrackSummaryTool::updateAdditionalInfo(const Track& track, TrackSummary &summary, bool initialise_to_zero) const
 {
-  std::vector<float> eProbability(Trk::numberOfeProbabilityTypes, 0.5);
+  std::vector<float> eProbability = ITRT_ElectronPidTool::defaultElectronProbability();
   if (!m_eProbabilityTool.empty()) {
     eProbability = m_eProbabilityTool->electronProbability(track);
     int nHits = eProbability[Trk::eProbabilityNumberOfTRTHitsUsedFordEdx];