diff --git a/InnerDetector/InDetRecTools/InDetEtaDependentCuts/test/IDEDCSvc_GaudiFixtureBase.h b/InnerDetector/InDetRecTools/InDetEtaDependentCuts/test/IDEDCSvc_GaudiFixtureBase.h
index 230e1299f4f63aa466341ea0178d762e4afbbe1e..4d3b610d62611e876142068c6ba26b42751cd80b 100644
--- a/InnerDetector/InDetRecTools/InDetEtaDependentCuts/test/IDEDCSvc_GaudiFixtureBase.h
+++ b/InnerDetector/InDetRecTools/InDetEtaDependentCuts/test/IDEDCSvc_GaudiFixtureBase.h
@@ -24,17 +24,18 @@ ATLAS_NO_CHECK_FILE_THREAD_SAFETY; // This is for unit tests and a static variab
 
 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
diff --git a/InnerDetector/InDetRecTools/InDetEtaDependentCuts/test/InDetEtaDependentCutsSvc_test.cxx b/InnerDetector/InDetRecTools/InDetEtaDependentCuts/test/InDetEtaDependentCutsSvc_test.cxx
index 014bd39057b303cf241e45f7ad09158833f592e2..1d3897f11f0fcc85b814ba3f40c7534481cb8350 100644
--- a/InnerDetector/InDetRecTools/InDetEtaDependentCuts/test/InDetEtaDependentCutsSvc_test.cxx
+++ b/InnerDetector/InDetRecTools/InDetEtaDependentCuts/test/InDetEtaDependentCutsSvc_test.cxx
@@ -36,22 +36,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()