diff --git a/Event/xAOD/xAODPFlow/Root/PFO_v1.cxx b/Event/xAOD/xAODPFlow/Root/PFO_v1.cxx
index 5f8e939877c132f6f2e0413fac9da7dafc0d74b3..4fcff8b6cd8fbba1fb55b411fd3b08aa14de50c1 100644
--- a/Event/xAOD/xAODPFlow/Root/PFO_v1.cxx
+++ b/Event/xAOD/xAODPFlow/Root/PFO_v1.cxx
@@ -1,4 +1,3 @@
-
 /*
   Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 */
@@ -52,7 +51,7 @@ namespace xAOD {
 
    double PFO_v1::pt() const {
 
-     const static Accessor<float> accPt("pt");
+     const static ConstAccessor<float> accPt("pt");
      float pt = accPt(*this);
 
      return pt;
@@ -60,28 +59,28 @@ namespace xAOD {
 
    double PFO_v1::eta() const {
 
-     const static Accessor<float> accEta("eta");
+     const static ConstAccessor<float> accEta("eta");
      float eta = accEta(*this);
      return eta;
    }
 
    double PFO_v1::phi() const {
 
-     const static Accessor<float> accPhi("phi");
+     const static ConstAccessor<float> accPhi("phi");
      float phi = accPhi(*this);
      return phi;
    }
 
    double PFO_v1::m() const {
 
-     const static Accessor<float> accM("m");
+     const static ConstAccessor<float> accM("m");
      float M = accM(*this);
      return M;
    }
 
    double PFO_v1::e() const {
 
-     const static Accessor<float> accPt("pt");
+     const static ConstAccessor<float> accPt("pt");
      float pt = accPt(*this);
 
      if (pt < 0.0) return -genvecP4().E();
@@ -149,10 +148,10 @@ namespace xAOD {
     FourMom_t p4EM;
 
     //change to use pt, eta, phi ,e 
-    const static Accessor<float> accPt("ptEM");
-    const static Accessor<float> accEta("eta");
-    const static Accessor<float> accPhi("phi");
-    const static Accessor<float> accM("mEM");
+    const static ConstAccessor<float> accPt("ptEM");
+    const static ConstAccessor<float> accEta("eta");
+    const static ConstAccessor<float> accPhi("phi");
+    const static ConstAccessor<float> accM("mEM");
     
     p4EM.SetPtEtaPhiM(accPt(*this), accEta(*this), accPhi(*this), accM(*this));
     return p4EM;
@@ -163,10 +162,10 @@ namespace xAOD {
     if (fabs(this->charge()) > FLT_MIN) return genvecP4();
 
     //change to use pt, eta, phi ,e 
-    const static Accessor<float> accPt("ptEM");
-    const static Accessor<float> accEta("eta");
-    const static Accessor<float> accPhi("phi");
-    const static Accessor<float> accM("mEM");
+    const static ConstAccessor<float> accPt("ptEM");
+    const static ConstAccessor<float> accEta("eta");
+    const static ConstAccessor<float> accPhi("phi");
+    const static ConstAccessor<float> accM("mEM");
     
     return GenVecFourMom_t(accPt(*this), accEta(*this), accPhi(*this), accM(*this));
   }
@@ -206,7 +205,7 @@ namespace xAOD {
 
      if (fabs(this->charge()) > FLT_MIN) return this->pt();
 
-     const static Accessor<float> accPt("ptEM");
+     const static ConstAccessor<float> accPt("ptEM");
      float pt = accPt(*this);
 
      return pt;
@@ -225,7 +224,7 @@ namespace xAOD {
    double PFO_v1::mEM() const {
 
      if (fabs(this->charge()) > FLT_MIN) return this->m();
-     const static Accessor<float> accM("mEM");
+     const static ConstAccessor<float> accM("mEM");
      float M = accM(*this);
 
      return M;
@@ -235,7 +234,7 @@ namespace xAOD {
 
      if (fabs(this->charge()) > FLT_MIN) return this->e();
 
-     const static Accessor<float> accPt("ptEM");
+     const static ConstAccessor<float> accPt("ptEM");
      float pt = accPt(*this);
 
      if (pt < 0.0) return -p4EM().E();
@@ -295,7 +294,7 @@ namespace xAOD {
       return isValid;
     }
     else{
-      Accessor<float>* p_acc = PFOAttributesAccessor_v1<float>::accessor(AttributeType);
+      const static ConstAccessor<float>* p_acc = PFOAttributesAccessor_v1<float>::constAccessor(AttributeType);
       //check if accessor pointer is NULL
       if( ! p_acc ) {  return false ;}
       //check if variable is avaialable
@@ -579,7 +578,7 @@ namespace xAOD {
 
   void PFO_v1::addAssociatedParticleLink(const std::string& ParticleType, const ElementLink<IParticleContainer>& theParticle) {
 
-    Accessor<std::vector<ElementLink<IParticleContainer > > > acc(ParticleType);
+    const static Accessor<std::vector<ElementLink<IParticleContainer > > > acc(ParticleType);
     std::vector<ElementLink<IParticleContainer> > storedContainer = acc(*this);
 
     ElementLink<xAOD::IParticleContainer> newLink;
@@ -604,7 +603,7 @@ namespace xAOD {
   
   bool PFO_v1::associatedParticles(PFODetails::PFOParticleType ParticleType, std::vector<const IParticle*>& theParticles ) const{
 
-    const Accessor<std::vector<ElementLink<IParticleContainer > > >* p_acc = PFOParticleTypeMapper_temp::getAccessor(ParticleType);
+    const ConstAccessor<std::vector<ElementLink<IParticleContainer > > >* p_acc = PFOParticleTypeMapper_temp::getAccessor(ParticleType);
     if (!p_acc) return false;
     else{
       if (!p_acc->isAvailable(*this)) return false;
@@ -633,12 +632,12 @@ namespace xAOD {
       storedContainer.push_back( myLink );
     }
 
-    Accessor<std::vector<ElementLink<IParticleContainer > > > acc(ParticleType);
+    const static Accessor<std::vector<ElementLink<IParticleContainer > > > acc(ParticleType);
     acc(*this) = storedContainer;
   }
 
   bool PFO_v1::associatedParticles(const std::string& ParticleType, std::vector<const IParticle*>& theParticles ) const{
-    Accessor<std::vector<ElementLink<IParticleContainer > > > acc(ParticleType);
+    const static ConstAccessor<std::vector<ElementLink<IParticleContainer > > > acc(ParticleType);
     if (!acc.isAvailable(*this)) return false;
     else{
       const std::vector<ElementLink<IParticleContainer> >& theLinks = acc(*this);
@@ -653,7 +652,7 @@ namespace xAOD {
 
   const CaloCluster* PFO_v1::cluster(unsigned int index) const {
     
-    const Accessor<std::vector<ElementLink<IParticleContainer > > >* p_acc = PFOParticleTypeMapper_temp::getAccessor(PFODetails::CaloCluster);
+    const ConstAccessor<std::vector<ElementLink<IParticleContainer > > >* p_acc = PFOParticleTypeMapper_temp::getAccessor(PFODetails::CaloCluster);
     if (!p_acc) return nullptr;
     else if (!p_acc->isAvailable(*this)) {return nullptr;}
     else {
@@ -675,7 +674,7 @@ namespace xAOD {
 
   const TrackParticle* PFO_v1::track(unsigned int index) const {
 
-    const Accessor<std::vector<ElementLink<IParticleContainer > > >* p_acc = PFOParticleTypeMapper_temp::getAccessor(PFODetails::Track);
+    const ConstAccessor<std::vector<ElementLink<IParticleContainer > > >* p_acc = PFOParticleTypeMapper_temp::getAccessor(PFODetails::Track);
     if (!p_acc) return nullptr;
     else if (!p_acc->isAvailable(*this)) {return nullptr;}
     else {
@@ -695,7 +694,7 @@ namespace xAOD {
   }
 
   const xAOD::Vertex* PFO_v1::vertex() const{
-    const static Accessor<ElementLink<xAOD::VertexContainer> > acc("pfo_vertex");
+    const static ConstAccessor<ElementLink<xAOD::VertexContainer> > acc("pfo_vertex");
     if (!acc.isAvailable(*this)) return nullptr;
     else{
       ElementLink<xAOD::VertexContainer> tempVertexLink = acc(*this);
@@ -764,7 +763,7 @@ namespace xAOD {
     //clusters
     const Accessor<std::vector<ElementLink<IParticleContainer > > >* p_accClusters = PFOParticleTypeMapper_temp::getAccessor(PFODetails::CaloCluster);
     if (p_accClusters){
-      const Accessor<std::vector<ElementLink<IParticleContainer > > >& accClusters = *p_accClusters;
+      const static Accessor<std::vector<ElementLink<IParticleContainer > > >& accClusters = *p_accClusters;
       if ( accClusters.isAvailableWritable(*this) ){
 	std::vector<ElementLink<IParticleContainer> >& theClusterLinks = accClusters(*this);
 	std::vector< ElementLink< IParticleContainer > >::iterator  firstClus = theClusterLinks.begin();
@@ -776,7 +775,7 @@ namespace xAOD {
     //tracks
     const Accessor<std::vector<ElementLink<IParticleContainer > > >* p_accTracks = PFOParticleTypeMapper_temp::getAccessor(PFODetails::Track);
     if (p_accTracks){
-      const Accessor<std::vector<ElementLink<IParticleContainer > > >& accTracks = *p_accTracks;
+      const static Accessor<std::vector<ElementLink<IParticleContainer > > >& accTracks = *p_accTracks;
       if ( accTracks.isAvailableWritable(*this) ){
 	std::vector<ElementLink<IParticleContainer> >& theTrackLinks = accTracks(*this);
 	std::vector< ElementLink< IParticleContainer > >::iterator  firstTrack = theTrackLinks.begin();
@@ -789,7 +788,7 @@ namespace xAOD {
     //shots    
     const Accessor<std::vector<ElementLink<IParticleContainer > > >* p_accShots = PFOParticleTypeMapper_temp::getAccessor(PFODetails::TauShot);
     if (p_accShots){
-      const Accessor<std::vector<ElementLink<IParticleContainer > > >& accShots = *p_accShots;
+      const static Accessor<std::vector<ElementLink<IParticleContainer > > >& accShots = *p_accShots;
       if ( accShots.isAvailableWritable(*this) ){
 	std::vector<ElementLink<IParticleContainer> >& theShotLinks = accShots(*this);
 	std::vector< ElementLink< IParticleContainer > >::iterator  firstShot = theShotLinks.begin();
diff --git a/Event/xAOD/xAODPFlow/xAODPFlow/versions/PFOAttributesAccessor_v1.h b/Event/xAOD/xAODPFlow/xAODPFlow/versions/PFOAttributesAccessor_v1.h
index 31b8f8a6454a6af6d86b1d3b26b73448e77a25fb..a27aeafcc949ec9d5af650350253b58f7141fe4f 100644
--- a/Event/xAOD/xAODPFlow/xAODPFlow/versions/PFOAttributesAccessor_v1.h
+++ b/Event/xAOD/xAODPFlow/xAODPFlow/versions/PFOAttributesAccessor_v1.h
@@ -26,6 +26,14 @@ This is pretty much based on the class xAODJets/JetMomentsAccessor.h - i.e I cop
   }									\
   break
 
+#define DEFINE_PFO_CONSTACCESSOR( NAME )                                    \
+  case xAOD::PFODetails::NAME:				\
+  {									\
+    static const SG::AuxElement::Accessor< T > a( #NAME );			\
+    return &a;								\
+  }									\
+  break
+
 namespace xAOD{
 
   template<class T> struct PFOAttributesAccessor_v1 {
@@ -165,6 +173,128 @@ namespace xAOD{
 	  return 0;
       }//switch on variable names
     }//accessor
+
+    static const SG::AuxElement::Accessor<T>* constAccessor (xAOD::PFODetails::PFOAttributes variable){
+      switch (variable){
+	DEFINE_PFO_CONSTACCESSOR(nPi0);
+	DEFINE_PFO_CONSTACCESSOR(nPi0Proto);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_EM_FRAC_ENHANCED);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_ENG_FRAC_CORE);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_FIRST_ENG_DENS);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_CENTER_LAMBDA);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_SECOND_R);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_DELTA_ALPHA);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_HOT_STRIP_FRAC);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_THREE_CELL_STRIP_FRAC);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_LATERAL);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_LONGITUDINAL);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_SECOND_LAMBDA);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_ISOLATION);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_ENG_FRAC_MAX); 
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_ENG_BAD_CELLS);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_N_BAD_CELLS);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_BADLARQ_FRAC);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_ENG_POS);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_SIGNIFICANCE);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_CELL_SIGNIFICANCE);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_CELL_SIG_SAMPLING);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_AVG_LAR_Q);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_AVG_TILE_Q);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_EM3);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_HEC0);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_Tile0);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_HEC);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_TIMING);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_tracksExpectedEnergyDeposit);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_isInDenseEnvironment);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_EM);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_PreSamplerB);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_EMB1);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_EMB2);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_EMB3);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_PreSamplerE);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_EME1);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_EME2);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_EME3);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_HEC1);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_HEC2);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_HEC3);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_TileBar0);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_TileBar1);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_TileBar2);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_TileGap1);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_TileGap2);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_TileGap3);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_TileExt0);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_TileExt1);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_TileExt2);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_FCAL0);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_FCAL1);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_FCAL2);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_MINIFCAL0);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_MINIFCAL1);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_MINIFCAL2);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_LAYERENERGY_MINIFCAL3);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_layerVectorCellOrdering);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_radiusVectorCellOrdering);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_avgEdensityVectorCellOrdering);
+        DEFINE_PFO_CONSTACCESSOR(eflowRec_layerHED);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_EM_PROBABILITY);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_ENG_CALIB_TOT);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_ENG_CALIB_FRAC_EM);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_ENG_CALIB_FRAC_HAD);
+	DEFINE_PFO_CONSTACCESSOR(eflowRec_ENG_CALIB_FRAC_REST);
+	DEFINE_PFO_CONSTACCESSOR(cellBased_FIRST_ETA); 
+	DEFINE_PFO_CONSTACCESSOR(cellBased_SECOND_R); 
+	DEFINE_PFO_CONSTACCESSOR(cellBased_SECOND_LAMBDA); 
+	DEFINE_PFO_CONSTACCESSOR(cellBased_DELTA_PHI); 
+	DEFINE_PFO_CONSTACCESSOR(cellBased_DELTA_THETA); 
+	DEFINE_PFO_CONSTACCESSOR(cellBased_CENTER_LAMBDA); 
+	DEFINE_PFO_CONSTACCESSOR(cellBased_LATERAL); 
+	DEFINE_PFO_CONSTACCESSOR(cellBased_LONGITUDINAL); 
+	DEFINE_PFO_CONSTACCESSOR(cellBased_ENG_FRAC_EM); 
+	DEFINE_PFO_CONSTACCESSOR(cellBased_ENG_FRAC_MAX); 
+	DEFINE_PFO_CONSTACCESSOR(cellBased_ENG_FRAC_CORE); 
+	DEFINE_PFO_CONSTACCESSOR(cellBased_SECOND_ENG_DENS); 
+	DEFINE_PFO_CONSTACCESSOR(cellBased_EM1CoreFrac); 
+	DEFINE_PFO_CONSTACCESSOR(cellBased_asymmetryInEM1WRTTrk); 
+	DEFINE_PFO_CONSTACCESSOR(cellBased_NHitsInEM1); 
+	DEFINE_PFO_CONSTACCESSOR(cellBased_NPosECells_PS); 
+	DEFINE_PFO_CONSTACCESSOR(cellBased_NPosECells_EM1); 
+	DEFINE_PFO_CONSTACCESSOR(cellBased_NPosECells_EM2); 
+	DEFINE_PFO_CONSTACCESSOR(cellBased_firstEtaWRTClusterPosition_EM1); 
+	DEFINE_PFO_CONSTACCESSOR(cellBased_firstEtaWRTClusterPosition_EM2); 
+	DEFINE_PFO_CONSTACCESSOR(cellBased_secondEtaWRTClusterPosition_EM1); 
+	DEFINE_PFO_CONSTACCESSOR(cellBased_secondEtaWRTClusterPosition_EM2); 
+	DEFINE_PFO_CONSTACCESSOR(cellBased_energy_EM1); 
+	DEFINE_PFO_CONSTACCESSOR(cellBased_energy_EM2); 
+	DEFINE_PFO_CONSTACCESSOR(tauShots_nCellsInEta);
+	DEFINE_PFO_CONSTACCESSOR(tauShots_pt1); 
+	DEFINE_PFO_CONSTACCESSOR(tauShots_pt3); 
+	DEFINE_PFO_CONSTACCESSOR(tauShots_pt5); 
+	DEFINE_PFO_CONSTACCESSOR(tauShots_ws5); 
+	DEFINE_PFO_CONSTACCESSOR(tauShots_sdevEta5_WRTmean); 
+	DEFINE_PFO_CONSTACCESSOR(tauShots_sdevEta5_WRTmode); 
+	DEFINE_PFO_CONSTACCESSOR(tauShots_sdevPt5); 
+	DEFINE_PFO_CONSTACCESSOR(tauShots_deltaPt12_min); 
+	DEFINE_PFO_CONSTACCESSOR(tauShots_Fside_3not1); 
+	DEFINE_PFO_CONSTACCESSOR(tauShots_Fside_5not1); 
+	DEFINE_PFO_CONSTACCESSOR(tauShots_Fside_5not3); 
+	DEFINE_PFO_CONSTACCESSOR(tauShots_fracSide_3not1); 
+	DEFINE_PFO_CONSTACCESSOR(tauShots_fracSide_5not1); 
+	DEFINE_PFO_CONSTACCESSOR(tauShots_fracSide_5not3); 
+	DEFINE_PFO_CONSTACCESSOR(tauShots_pt1OverPt3); 
+	DEFINE_PFO_CONSTACCESSOR(tauShots_pt3OverPt5); 
+	DEFINE_PFO_CONSTACCESSOR(tauShots_mergedScore); 
+	DEFINE_PFO_CONSTACCESSOR(tauShots_signalScore); 
+	DEFINE_PFO_CONSTACCESSOR(tauShots_nPhotons); 
+	DEFINE_PFO_CONSTACCESSOR(tauShots_seedHash);
+	default:
+	  std::cerr << "xAOD::PFO_v1 ERROR Unknown float/double variable (" << static_cast<int>(variable) << ") requested" << std::endl;
+	  return 0;
+      }//switch on variable names
+    }//const accessor
+    
   }//struct
   ;
   
diff --git a/Event/xAOD/xAODPFlow/xAODPFlow/versions/PFO_v1.icc b/Event/xAOD/xAODPFlow/xAODPFlow/versions/PFO_v1.icc
index 58fe626125b51fe6b9835fba3bbe69d3224cecf8..8fbe601a2f2dfc0a24e214302a3523434bf0b2e8 100644
--- a/Event/xAOD/xAODPFlow/xAODPFlow/versions/PFO_v1.icc
+++ b/Event/xAOD/xAODPFlow/xAODPFlow/versions/PFO_v1.icc
@@ -15,7 +15,7 @@ namespace xAOD{
   
   template<class T> bool PFO_v1::attribute(PFODetails::PFOAttributes AttributeType, T& anAttribute) const {
     
-    Accessor<T>* acc = PFOAttributesAccessor_v1<T>::accessor(AttributeType);
+    const ConstAccessor<T>* acc = PFOAttributesAccessor_v1<T>::accessor(AttributeType);
     //check if accessor pointer is NULL
     if( ! acc ) {  return false ;}
     //check if variable is avaialable
@@ -27,13 +27,13 @@ namespace xAOD{
 
   template<class T> void PFO_v1::setAttribute(const std::string& AttributeType, const T& anAttribute) {
 
-    Accessor<T> acc(AttributeType);
+    const static Accessor<T> acc(AttributeType);
     acc(*this) = anAttribute;
 
   }
 
   template<class T> bool PFO_v1::attribute(const std::string& AttributeType, T& anAttribute) const {
-    Accessor<T> acc(AttributeType);
+    const static ConstAccessor<T> acc(AttributeType);
     //Check if variable is available
     if( !acc.isAvailable( *this ) ) return false;
     else {