--- /dev/null
+diff --git a/src/HOMARD_I/HOMARD_Gen_i.cxx b/src/HOMARD_I/HOMARD_Gen_i.cxx
+index 63e6cc8..bdca7a6 100644
+--- a/src/HOMARD_I/HOMARD_Gen_i.cxx
++++ b/src/HOMARD_I/HOMARD_Gen_i.cxx
+@@ -104,7 +104,7 @@ Engines_Component_i(orb, poa, contId, instanceName, interfaceName)
+ ASSERT(SINGLETON_<SALOME_NamingService>::IsAlreadyExisting());
+ _NS->init_orb(_orb);
+
+- myStudy = SALOMEDS::Study::_duplicate( SMESH_Gen_i::getStudyServant() );
++ myStudy = SALOMEDS::Study::_duplicate( SMESH_Gen_i::GetSMESHGen()->getStudyServant() );
+
+ _tag_gene = 0 ;
+ _tag_boun = 0 ;
+@@ -4580,7 +4580,7 @@ SALOMEDS::TMPFile* HOMARD_Gen_i::Save(SALOMEDS::SComponent_ptr theComponent,
+ // HOMARD data file name
+ std::string aFileName = "";
+ if (isMultiFile)
+- aFileName = SALOMEDS_Tool::GetNameFromPath(Kernel_Utils::encode(SMESH_Gen_i::getStudyServant()->URL()));
++ aFileName = SALOMEDS_Tool::GetNameFromPath(Kernel_Utils::encode(SMESH_Gen_i::GetSMESHGen()->getStudyServant()->URL()));
+ aFileName += "_HOMARD.dat";
+
+ // initialize sequence of file names
+@@ -4704,7 +4704,7 @@ CORBA::Boolean HOMARD_Gen_i::Load(SALOMEDS::SComponent_ptr theComponent,
+ // HOMARD data file name
+ std::string aFileName = "";
+ if (isMultiFile)
+- aFileName = SALOMEDS_Tool::GetNameFromPath(Kernel_Utils::encode(SMESH_Gen_i::getStudyServant()->URL()));
++ aFileName = SALOMEDS_Tool::GetNameFromPath(Kernel_Utils::encode(SMESH_Gen_i::GetSMESHGen()->getStudyServant()->URL()));
+ aFileName = tmpDir + aFileName + "_HOMARD.dat";
+
+ StudyContext& context = myStudyContext;
+@@ -4966,7 +4966,7 @@ Engines::TMPFile* HOMARD_Gen_i::DumpPython(CORBA::Boolean isPublished,
+ MESSAGE ("Entree dans DumpPython");
+ isValidScript=1;
+
+- SALOMEDS::SObject_var aSO = SMESH_Gen_i::getStudyServant()->FindComponent("HOMARD");
++ SALOMEDS::SObject_var aSO = SMESH_Gen_i::GetSMESHGen()->getStudyServant()->FindComponent("HOMARD");
+ if(CORBA::is_nil(aSO))
+ return new Engines::TMPFile(0);
+
+@@ -5135,7 +5135,7 @@ Engines::TMPFile* HOMARD_Gen_i::DumpPython(CORBA::Boolean isPublished,
+ void HOMARD_Gen_i::IsValidStudy( )
+ {
+ // MESSAGE( "IsValidStudy" );
+- if (CORBA::is_nil(SMESH_Gen_i::getStudyServant()))
++ if (CORBA::is_nil(SMESH_Gen_i::GetSMESHGen()->getStudyServant()))
+ {
+ SALOME::ExceptionStruct es;
+ es.type = SALOME::BAD_PARAM;