diff --git a/Tracking/TrkEvent/TrkCaloClusterROI/src/CaloClusterROI.cxx b/Tracking/TrkEvent/TrkCaloClusterROI/src/CaloClusterROI.cxx
index d5c714aafc8e46289176a6cab86626b04548d0c3..f0ef20cc0fababfb93fa1a9b6a81732f8fd203ea 100644
--- a/Tracking/TrkEvent/TrkCaloClusterROI/src/CaloClusterROI.cxx
+++ b/Tracking/TrkEvent/TrkCaloClusterROI/src/CaloClusterROI.cxx
@@ -24,7 +24,6 @@ Trk::CaloClusterROI::CaloClusterROI(  const Trk::LocalParameters* locpars,
   m_etaWidth( widtheta )
 {
   m_surface = surface.isFree() ? surface.clone() : &surface;
-  this->globalPosition();
 }
 
 // Destructor:
@@ -78,11 +77,10 @@ Trk::CaloClusterROI& Trk::CaloClusterROI::operator=(const Trk::CaloClusterROI& c
 Amg::Vector3D Trk::CaloClusterROI::globalPosition() const
 {
     if(m_localParams){
-      std::unique_ptr<const Amg::Vector3D> tmp_global(m_surface->localToGlobal(*m_localParams));
-      return *tmp_global; // return "copy"
+      return m_surface->localToGlobalPos(*m_localParams);
     }
     if(m_surface){
-      return Amg::Vector3D(m_surface->center());
+      return m_surface->center();
     }
     return Amg::Vector3D();
 }