diff --git a/Applications/ApplicationsLib/ProjectData.cpp b/Applications/ApplicationsLib/ProjectData.cpp
index 3b3514884469b88d8f6565b77f217f580fa9d0d3..58be51290e959030b4a0c6177ceee7f8a90d01f9 100644
--- a/Applications/ApplicationsLib/ProjectData.cpp
+++ b/Applications/ApplicationsLib/ProjectData.cpp
@@ -609,7 +609,7 @@ void ProjectData::parseProcesses(BaseLib::ConfigTree const& processes_config,
             process = ProcessLib::HT::createHTProcess(
                 *_mesh_vec[0], std::move(jacobian_assembler),
                 _process_variables, _parameters, integration_order,
-                process_config, _mesh_vec, output_directory);
+                process_config, _mesh_vec, output_directory, _media);
         }
         else
 #endif
diff --git a/ProcessLib/HT/CreateHTProcess.cpp b/ProcessLib/HT/CreateHTProcess.cpp
index 24023603476b7dca5bcccddd07ec9ebb42d159c4..64b035991732e7ff91d1a87109932536b0974453 100644
--- a/ProcessLib/HT/CreateHTProcess.cpp
+++ b/ProcessLib/HT/CreateHTProcess.cpp
@@ -10,6 +10,7 @@
 #include "CreateHTProcess.h"
 
 #include "MaterialLib/Fluid/FluidProperties/CreateFluidProperties.h"
+#include "MaterialLib/MPL/CreateMaterialSpatialDistributionMap.h"
 #include "MaterialLib/PorousMedium/CreatePorousMediaProperties.h"
 #include "MeshLib/IO/readMeshFromFile.h"
 #include "ParameterLib/ConstantParameter.h"
@@ -34,7 +35,8 @@ std::unique_ptr<Process> createHTProcess(
     unsigned const integration_order,
     BaseLib::ConfigTree const& config,
     std::vector<std::unique_ptr<MeshLib::Mesh>> const& meshes,
-    std::string const& output_directory)
+    std::string const& output_directory,
+    std::map<int, std::unique_ptr<MaterialPropertyLib::Medium>> const& media)
 {
     //! \ogs_file_param{prj__processes__process__type}
     config.checkConfigParameter("type", "HT");
@@ -216,11 +218,15 @@ std::unique_ptr<Process> createHTProcess(
                                            output_directory);
     }
 
+    auto media_map =
+        MaterialPropertyLib::createMaterialSpatialDistributionMap(media, mesh);
+
     std::unique_ptr<HTMaterialProperties> material_properties =
         std::make_unique<HTMaterialProperties>(
             std::move(porous_media_properties),
             density_solid,
             std::move(fluid_properties),
+            std::move(media_map),
             has_fluid_thermal_dispersivity,
             *thermal_dispersivity_longitudinal,
             *thermal_dispersivity_transversal,
diff --git a/ProcessLib/HT/CreateHTProcess.h b/ProcessLib/HT/CreateHTProcess.h
index 2e3e78644e1bef2bbba9e36273f1341e178c95a5..4ac2b63871cef949ab5eb99f7421e13081b8e275 100644
--- a/ProcessLib/HT/CreateHTProcess.h
+++ b/ProcessLib/HT/CreateHTProcess.h
@@ -10,8 +10,14 @@
 #pragma once
 
 #include <memory>
+
 #include "ProcessLib/Process.h"
 
+namespace MaterialPropertyLib
+{
+class Medium;
+}
+
 namespace ProcessLib
 {
 namespace HT
@@ -24,7 +30,8 @@ std::unique_ptr<Process> createHTProcess(
     unsigned const integration_order,
     BaseLib::ConfigTree const& config,
     std::vector<std::unique_ptr<MeshLib::Mesh>> const& meshes,
-    std::string const& output_directory);
+    std::string const& output_directory,
+    std::map<int, std::unique_ptr<MaterialPropertyLib::Medium>> const& media);
 
 }  // namespace HT
 }  // namespace ProcessLib
diff --git a/ProcessLib/HT/HTMaterialProperties.h b/ProcessLib/HT/HTMaterialProperties.h
index 08d55043dd79a7c8c7ca247d0583deff46aab987..fd52906b1fa484f313a2470b7574cd75e6af64fe 100644
--- a/ProcessLib/HT/HTMaterialProperties.h
+++ b/ProcessLib/HT/HTMaterialProperties.h
@@ -13,6 +13,7 @@
 #include <utility>
 
 #include "MaterialLib/Fluid/FluidProperties/FluidProperties.h"
+#include "MaterialLib/MPL/MaterialSpatialDistributionMap.h"
 #include "MaterialLib/PorousMedium/PorousMediaProperties.h"
 
 namespace ProcessLib
@@ -30,6 +31,8 @@ struct HTMaterialProperties final
         ParameterLib::Parameter<double> const& density_solid_,
         std::unique_ptr<MaterialLib::Fluid::FluidProperties>&&
             fluid_properties_,
+        std::unique_ptr<MaterialPropertyLib::MaterialSpatialDistributionMap>&&
+            media_map_,
         bool const has_fluid_thermal_dispersivity_,
         ParameterLib::Parameter<double> const&
             thermal_dispersivity_longitudinal_,
@@ -46,6 +49,7 @@ struct HTMaterialProperties final
         : porous_media_properties(std::move(porous_media_properties_)),
           density_solid(density_solid_),
           fluid_properties(std::move(fluid_properties_)),
+          media_map(std::move(media_map_)),
           specific_heat_capacity_solid(specific_heat_capacity_solid_),
           has_fluid_thermal_dispersivity(has_fluid_thermal_dispersivity_),
           thermal_dispersivity_longitudinal(thermal_dispersivity_longitudinal_),
@@ -68,6 +72,8 @@ struct HTMaterialProperties final
     MaterialLib::PorousMedium::PorousMediaProperties porous_media_properties;
     ParameterLib::Parameter<double> const& density_solid;
     std::unique_ptr<MaterialLib::Fluid::FluidProperties> fluid_properties;
+    std::unique_ptr<MaterialPropertyLib::MaterialSpatialDistributionMap>
+        media_map;
     ParameterLib::Parameter<double> const& specific_heat_capacity_solid;
     bool const has_fluid_thermal_dispersivity;
     ParameterLib::Parameter<double> const& thermal_dispersivity_longitudinal;