diff --git a/InnerDetector/InDetRecTools/InDetEtaDependentCuts/test/IDEDCSvc_GaudiFixtureBase.h b/InnerDetector/InDetRecTools/InDetEtaDependentCuts/test/IDEDCSvc_GaudiFixtureBase.h
index a8c869ef2bed94898c2aa42dc280af46753cc4a9..d835a24d94305413ad9a04338b5e08ee63d93d0d 100644
--- a/InnerDetector/InDetRecTools/InDetEtaDependentCuts/test/IDEDCSvc_GaudiFixtureBase.h
+++ b/InnerDetector/InDetRecTools/InDetEtaDependentCuts/test/IDEDCSvc_GaudiFixtureBase.h
@@ -21,17 +21,18 @@
 
 struct IDEDC_GaudiFixtureBase{
   ISvcLocator* svcLoc{};
-  static bool gaudiIsInitialised;
   const std::string jobOpts{};
-  IDEDC_GaudiFixtureBase(const std::string & jobOptionFile = "InDetEtaDependentCutsTestJobOpts.txt"):jobOpts(jobOptionFile){
+  static bool initGaudi (const std::string & jobOptionFile, ISvcLocator*& svcLoc)
+  {
     CxxUtils::ubsan_suppress ([]() { TInterpreter::Instance(); } );
-    if (not gaudiIsInitialised){
-      std::string fullJobOptsName="InDetEtaDependentCuts/" + jobOpts;
-      gaudiIsInitialised=Athena_test::initGaudi(fullJobOptsName, svcLoc);
-    }
+    std::string fullJobOptsName="InDetEtaDependentCuts/" + jobOptionFile;
+    return Athena_test::initGaudi(fullJobOptsName, svcLoc);
+  }
+  IDEDC_GaudiFixtureBase(const std::string & jobOptionFile = "InDetEtaDependentCutsTestJobOpts.txt"):jobOpts(jobOptionFile){
+    static const bool gaudiIsInitialized [[maybe_unused]]
+      = initGaudi (jobOptionFile, svcLoc);
   }
 };
 
-bool IDEDC_GaudiFixtureBase::gaudiIsInitialised=false;
 
-#endif
\ No newline at end of file
+#endif
diff --git a/InnerDetector/InDetRecTools/InDetEtaDependentCuts/test/InDetEtaDependentCutsSvc_test.cxx b/InnerDetector/InDetRecTools/InDetEtaDependentCuts/test/InDetEtaDependentCutsSvc_test.cxx
index d5be3ed7b4f871c16c949f59936882b2c9d487fb..e96f632a7b229c2f7ad9afb6bb03322b6bfffc83 100644
--- a/InnerDetector/InDetRecTools/InDetEtaDependentCuts/test/InDetEtaDependentCutsSvc_test.cxx
+++ b/InnerDetector/InDetRecTools/InDetEtaDependentCuts/test/InDetEtaDependentCutsSvc_test.cxx
@@ -33,22 +33,24 @@ struct GaudiKernelFixture:public IDEDC_GaudiFixtureBase{
 using namespace InDet;
 
 BOOST_AUTO_TEST_SUITE(EtaDependentCutsSvcTest)
-  GaudiKernelFixture g(testJobOptionsFile);
+  const GaudiKernelFixture g(testJobOptionsFile);
   const auto & svcLoc=g.svcLoc;
-   ServiceHandle<IInDetEtaDependentCutsSvc> idEDCSvc ("InDet::InDetEtaDependentCutsSvc", "test");
  
    BOOST_AUTO_TEST_CASE( sanityCheck ){
      const bool svcLocatorIsOk=(svcLoc != nullptr);
      BOOST_TEST(svcLocatorIsOk);
    }
    BOOST_AUTO_TEST_CASE( retrieveSvc ){
+     ServiceHandle<IInDetEtaDependentCutsSvc> idEDCSvc ("InDet::InDetEtaDependentCutsSvc", "test");
      BOOST_TEST (idEDCSvc.retrieve().isSuccess());
    }
    BOOST_AUTO_TEST_CASE( interfaceID ){
+     ServiceHandle<IInDetEtaDependentCutsSvc> idEDCSvc ("InDet::InDetEtaDependentCutsSvc", "test");
      InterfaceID testId("IInDetEtaDependentCutsSvc",1,0);
      BOOST_TEST(idEDCSvc->interfaceID()==testId);
    }
    BOOST_AUTO_TEST_CASE(publicMethods){
+     ServiceHandle<IInDetEtaDependentCutsSvc> idEDCSvc ("InDet::InDetEtaDependentCutsSvc", "test");
      BOOST_TEST(idEDCSvc->getMaxEta() == 4.0);
    }
 BOOST_AUTO_TEST_SUITE_END()