diff --git a/MaterialLib/CMakeLists.txt b/MaterialLib/CMakeLists.txt
index 6eb3884711e3f306ee990f9a14ad5092a49c9acc..548d6d176f0737e7a5dcde115963843ba3447ec2 100644
--- a/MaterialLib/CMakeLists.txt
+++ b/MaterialLib/CMakeLists.txt
@@ -29,7 +29,9 @@ append_source_files(SOURCES
                     PorousMedium/UnsaturatedProperty/RelativePermeability)
 append_source_files(SOURCES TwoPhaseModels)
 
-add_subdirectory(SolidModels/MFront)
+if(OGS_USE_MFRONT)
+    add_subdirectory(SolidModels/MFront)
+endif()
 
 add_library(MaterialLib ${SOURCES})
 if(BUILD_SHARED_LIBS)
@@ -40,9 +42,11 @@ include(GenerateExportHeader)
 generate_export_header(MaterialLib)
 target_include_directories(MaterialLib PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
 
-target_link_libraries(MaterialLib
-                      PUBLIC MaterialLib_SolidModels_MFront
-                      PRIVATE MathLib MeshLib ParameterLib)
+target_link_libraries(MaterialLib PRIVATE MathLib MeshLib ParameterLib)
+
+if(OGS_USE_MFRONT)
+    target_link_libraries(MaterialLib PUBLIC MaterialLib_SolidModels_MFront)
+endif()
 
 if(OGS_USE_PCH)
     cotire(MaterialLib)
diff --git a/MaterialLib/SolidModels/MFront/CMakeLists.txt b/MaterialLib/SolidModels/MFront/CMakeLists.txt
index 05b2a276d8e8d58fe98966a0899431742a2d5554..5fc748eca01f4402cb912c760f4c99d1f68e56ad 100644
--- a/MaterialLib/SolidModels/MFront/CMakeLists.txt
+++ b/MaterialLib/SolidModels/MFront/CMakeLists.txt
@@ -1,8 +1,6 @@
 set(SOURCES CreateMFront.cpp CreateMFront.h)
 
-if(OGS_USE_MFRONT)
-    list(APPEND SOURCES MFront.cpp MFront.h)
-endif()
+list(APPEND SOURCES MFront.cpp MFront.h)
 
 add_library(MaterialLib_SolidModels_MFront ${SOURCES})
 
@@ -12,13 +10,17 @@ if(BUILD_SHARED_LIBS)
 endif()
 
 target_link_libraries(MaterialLib_SolidModels_MFront
-                      PUBLIC BaseLib NumLib logog
+                      PUBLIC BaseLib NumLib logog OgsMFrontBehaviour
                       PRIVATE MathLib MeshLib)
 
-if(OGS_USE_MFRONT)
-    target_include_directories(MaterialLib_SolidModels_MFront
-                               PUBLIC ${MGIS_INCLUDE_DIR})
-    target_link_libraries(MaterialLib_SolidModels_MFront PUBLIC ${MGIS_LIBRARY})
-    target_compile_definitions(MaterialLib_SolidModels_MFront PRIVATE
-                               OGS_USE_MFRONT)
-endif()
+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
+                      "${PROJECT_SOURCE_DIR}/ThirdParty/MGIS")
+include(cmake/modules/tfel)
+mfront_behaviours_check_library(OgsMFrontBehaviour Elasticity)
+
+target_include_directories(MaterialLib_SolidModels_MFront
+                           PUBLIC ThirdParty/MGIS/include)
+target_link_libraries(MaterialLib_SolidModels_MFront
+                      PUBLIC MFrontGenericInterface)
+target_compile_definitions(MaterialLib_SolidModels_MFront PRIVATE
+                           OGS_USE_MFRONT)