diff --git a/Trigger/TrigMonitoring/TrigEgammaMonitoring/src/egammaMonitorElectronAlgorithm.cxx b/Trigger/TrigMonitoring/TrigEgammaMonitoring/src/egammaMonitorElectronAlgorithm.cxx
index f673ba2dfb9d07a12204a0c5208b670bdd17e414..146cd18b250b7f3dac338f508cb92b0dd607e11e 100644
--- a/Trigger/TrigMonitoring/TrigEgammaMonitoring/src/egammaMonitorElectronAlgorithm.cxx
+++ b/Trigger/TrigMonitoring/TrigEgammaMonitoring/src/egammaMonitorElectronAlgorithm.cxx
@@ -21,6 +21,8 @@ StatusCode egammaMonitorElectronAlgorithm::initialize()
 {
   
   ATH_CHECK(m_electronsKey.initialize());
+  m_ptcone20Key = m_electronsKey.key() + ".ptcone20";
+  ATH_CHECK(m_ptcone20Key.initialize());
   if (!m_monTool.empty()) CHECK(m_monTool.retrieve());
   return StatusCode::SUCCESS;
 }
@@ -133,15 +135,23 @@ void egammaMonitorElectronAlgorithm::filltopoElectronIsolation( const EventConte
     auto ptcone30_col = Monitored::Collection("ptcone30", ptcone30_vec);
     auto ptcone40_col = Monitored::Collection("ptcone40", ptcone40_vec);
 
-    
-    for (const auto& electron : *electrons) {
+    for (const xAOD::Electron* electron : *electrons){
+
+        val = 0;
+        electron->isolationValue(val,xAOD::Iso::topoetcone20);
+        topoetcone20_vec.push_back( val/Gaudi::Units::GeV );
 
-        topoetcone20_vec.push_back( electron->isolationValue(val,xAOD::Iso::topoetcone20)/Gaudi::Units::GeV);
-        ptcone20_vec.push_back(electron->isolationValue(val,xAOD::Iso::ptcone20));
-        ptcone30_vec.push_back(electron->isolationValue(val,xAOD::Iso::ptcone30));
-        ptcone40_vec.push_back(electron->isolationValue(val,xAOD::Iso::ptcone40));
+        val = 0;
+        electron->isolationValue(val,xAOD::Iso::ptcone20);
+        ptcone20_vec.push_back( val/Gaudi::Units::GeV );
 
+        val = 0;
+        electron->isolationValue(val,xAOD::Iso::ptcone30);
+        ptcone30_vec.push_back( val/Gaudi::Units::GeV );
 
+        val = 0;
+        electron->isolationValue(val,xAOD::Iso::ptcone40);
+        ptcone40_vec.push_back( val/Gaudi::Units::GeV );
     }
 
     auto mon = Monitored::Group(m_monTool,ptcone20_col, ptcone30_col, ptcone40_col, topoetcone20_col);
diff --git a/Trigger/TrigMonitoring/TrigEgammaMonitoring/src/egammaMonitorElectronAlgorithm.h b/Trigger/TrigMonitoring/TrigEgammaMonitoring/src/egammaMonitorElectronAlgorithm.h
index 28b3255bec6effe51d13943ef2402012bac4cf77..de9e0c2bc353f1e33e0d6e181fbcf8565f683d49 100644
--- a/Trigger/TrigMonitoring/TrigEgammaMonitoring/src/egammaMonitorElectronAlgorithm.h
+++ b/Trigger/TrigMonitoring/TrigEgammaMonitoring/src/egammaMonitorElectronAlgorithm.h
@@ -21,6 +21,7 @@
 #include "xAODTrigger/EmTauRoIContainer.h"
 #include "StoreGate/ReadHandleKey.h"
 #include "StoreGate/ReadCondHandleKey.h"
+#include "StoreGate/ReadDecorHandleKey.h"
 #include "AthenaBaseComps/AthAlgorithm.h"
 #include "StoreGate/DataHandle.h"
 #include "AthenaMonitoringKernel/Monitored.h"
@@ -49,6 +50,7 @@ class egammaMonitorElectronAlgorithm: public AthAlgorithm
   
   private:
     SG::ReadHandleKey<xAOD::ElectronContainer> m_electronsKey{ this, "ElectronKey", "Electrons", ""};
+    SG::ReadDecorHandleKey<xAOD::ElectronContainer> m_ptcone20Key{ this, "ElectronPtcone20Key", "Electrons.ptcone20", ""};
     ToolHandle<GenericMonitoringTool> m_monTool{this,"MonTool","","Monitoring tool"};
 };