diff --git a/Reconstruction/egamma/egammaMVACalib/Root/egammaMVASvc.cxx b/Reconstruction/egamma/egammaMVACalib/Root/egammaMVASvc.cxx
index 5cd081b1dc0c0431927f67dac2a918d48cccee8b..8759af553e9f044532deac0d0c8740b2589ac0b4 100644
--- a/Reconstruction/egamma/egammaMVACalib/Root/egammaMVASvc.cxx
+++ b/Reconstruction/egamma/egammaMVACalib/Root/egammaMVASvc.cxx
@@ -64,20 +64,32 @@ StatusCode egammaMVASvc::getEnergy(const xAOD::CaloCluster& cluster,
       ATH_MSG_FATAL("Trying to calibrate an electron, but disabled");
       return StatusCode::FAILURE;
     }
-  } else if (xAOD::EgammaHelpers::isConvertedPhoton(&eg) &&
-             xAOD::EgammaHelpers::conversionRadius(static_cast<const xAOD::Photon*>(&eg)) < m_maxConvR) {
-    if (!m_mvaConvertedPhoton.empty()) {
-      mvaE = m_mvaConvertedPhoton->getEnergy(cluster, &eg);
-    } else {
-      ATH_MSG_FATAL("Trying to calibrate a converted photon, but disabled");
-      return StatusCode::FAILURE;
-    }
   } else if (xAOD::EgammaHelpers::isPhoton(&eg)) {
-    if (!m_mvaUnconvertedPhoton.empty()) {
-      mvaE = m_mvaUnconvertedPhoton->getEnergy(cluster, &eg);
+    const xAOD::Photon* ph = static_cast<const xAOD::Photon*>(&eg);
+    bool isConvCalib = xAOD::EgammaHelpers::isConvertedPhoton(ph) && 
+                       xAOD::EgammaHelpers::conversionRadius(ph) < m_maxConvR;
+    if (m_removeTRTConvBarrel) {
+      // special case in Run3 to avoid TRT converted photons in the barrel
+      using enum xAOD::EgammaParameters::ConversionType;
+      const xAOD::EgammaParameters::ConversionType conversionType = xAOD::EgammaHelpers::conversionType(ph);
+      const bool isTRTConv = (conversionType == singleTRT) || (conversionType == doubleTRT); // 2 or 4
+      const bool isTRTEndcap = std::abs(ph->eta()) > 0.8;
+      isConvCalib = isConvCalib && (isTRTEndcap || !isTRTConv);
+    }
+    if (isConvCalib) {
+      if (!m_mvaConvertedPhoton.empty()) {
+        mvaE = m_mvaConvertedPhoton->getEnergy(cluster, &eg);
+      } else {
+        ATH_MSG_FATAL("Trying to calibrate a converted photon, but disabled");
+        return StatusCode::FAILURE;
+      }
     } else {
-      ATH_MSG_FATAL("Trying to calibrate an unconverted photon, but disabled");
-      return StatusCode::FAILURE;
+      if (!m_mvaUnconvertedPhoton.empty()) {
+        mvaE = m_mvaUnconvertedPhoton->getEnergy(cluster, &eg);
+      } else {
+        ATH_MSG_FATAL("Trying to calibrate an unconverted photon, but disabled");
+        return StatusCode::FAILURE;
+      }
     }
   } else {
     ATH_MSG_FATAL("Egamma object is of unsupported type");
diff --git a/Reconstruction/egamma/egammaMVACalib/egammaMVACalib/egammaMVASvc.h b/Reconstruction/egamma/egammaMVACalib/egammaMVACalib/egammaMVASvc.h
index a3abdf244813acc7ee1350b9d27a528ea46d3ef5..323fd516bd670e357c828c21bfdb4aef48b118f1 100644
--- a/Reconstruction/egamma/egammaMVACalib/egammaMVACalib/egammaMVASvc.h
+++ b/Reconstruction/egamma/egammaMVACalib/egammaMVACalib/egammaMVASvc.h
@@ -68,6 +68,10 @@ private:
       "MaxConvRadius", 800.0,
       "The maximum conversion radius for a photon to be considered converted"};
 
+  Gaudi::Property<bool> m_removeTRTConvBarrel {this,
+      "RemoveTRTConvBarrel", false,
+      "Remove TRT converted photons in the barrel"};
+
 };
 
 #endif