diff --git a/src/language/algorithms/HeatDiamondAlgorithm2.cpp b/src/language/algorithms/HeatDiamondAlgorithm2.cpp
index c36e796780f77ccd58c2fa7559a8c5cab9478d87..58a0a7e717a80647bfa57ee088c32c1075ecfe31 100644
--- a/src/language/algorithms/HeatDiamondAlgorithm2.cpp
+++ b/src/language/algorithms/HeatDiamondAlgorithm2.cpp
@@ -44,7 +44,7 @@ HeatDiamondScheme2<Dimension>::HeatDiamondScheme2(
   BoundaryConditionList boundary_condition_list;
 
   std::cout << "number of bc descr = " << bc_descriptor_list.size() << '\n';
-  std::shared_ptr mesh = std::dynamic_pointer_cast<const MeshType>(i_mesh);
+  std::shared_ptr<const MeshType> mesh = std::dynamic_pointer_cast<const MeshType>(i_mesh);
   NodeValue<bool> is_dirichlet{mesh->connectivity()};
   is_dirichlet.fill(false);
   NodeValue<double> dirichlet_value{mesh->connectivity()};