diff --git a/ProcessLib/HeatConduction/HeatConductionFEM.h b/ProcessLib/HeatConduction/HeatConductionFEM.h
index 57d19ccb5cf8c4584994db30170ccd90130d49c4..c28ffdd1c4081224a5ce524f8a336631baae0316 100644
--- a/ProcessLib/HeatConduction/HeatConductionFEM.h
+++ b/ProcessLib/HeatConduction/HeatConductionFEM.h
@@ -200,11 +200,6 @@ public:
         auto const& medium =
             *_process_data.media_map->getMedium(_element.getID());
         MaterialPropertyLib::VariableArray vars;
-        vars[static_cast<int>(MaterialPropertyLib::Variable::temperature)] =
-            medium
-                .property(
-                    MaterialPropertyLib::PropertyType::reference_temperature)
-                .template value<double>(vars, pos, t, dt);
 
         for (unsigned ip = 0; ip < n_integration_points; ip++)
         {
@@ -214,6 +209,13 @@ public:
                 _integration_method.getWeightedPoint(ip).getWeight() * sm.detJ *
                 sm.integralMeasure;
 
+            // get the local temperature and put it in the variable array for
+            // access in MPL
+            double T_int_pt = 0.0;
+            NumLib::shapeFunctionInterpolate(local_x, sm.N, T_int_pt);
+            vars[static_cast<int>(MaterialPropertyLib::Variable::temperature)] =
+                T_int_pt;
+
             auto const k = MaterialPropertyLib::formEigenTensor<GlobalDim>(
                 medium
                     .property(