diff --git a/Core/Core.pro b/Core/Core.pro
index f38186f60cbe4449c13100c0496d97534a6368b2..b47a5bae063a35653c30bfecc16d14f99d26241b 100644
--- a/Core/Core.pro
+++ b/Core/Core.pro
@@ -44,6 +44,7 @@ SOURCES += \
     Tools/src/ParameterPool.cpp \
     Tools/src/ProgramOptions.cpp \
     Tools/src/RealParameterWrapper.cpp \
+    Tools/src/SampleMaterialVisitor.cpp \
     Tools/src/SamplePrintVisitor.cpp \
     Tools/src/StochasticGaussian.cpp \
     Tools/src/StochasticSampledParameter.cpp \
@@ -177,6 +178,7 @@ HEADERS += \
     Tools/inc/ProgramOptions.h \
     Tools/inc/RealParameterWrapper.h \
     Tools/inc/SafePointerVector.h \
+    Tools/inc/SampleMaterialVisitor.h \
     Tools/inc/SamplePrintVisitor.h \
     Tools/inc/StochasticDiracDelta.h \
     Tools/inc/StochasticDoubleGate.h \
diff --git a/Core/Tools/inc/SampleMaterialVisitor.h b/Core/Tools/inc/SampleMaterialVisitor.h
index a83dfd6b7db8edd2893c3055774f3717840c47ed..94860644ab48ecf2a46bd08fe0ae2fe037244099 100644
--- a/Core/Tools/inc/SampleMaterialVisitor.h
+++ b/Core/Tools/inc/SampleMaterialVisitor.h
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
-//! @file      SampleMaterialVisitor.h
+//! @file      Tools/inc/SampleMaterialVisitor.h
 //! @brief     Defines class SampleMaterialVisitor.
 //!
 //! @homepage  http://apps.jcns.fz-juelich.de/BornAgain
diff --git a/Core/Tools/src/SampleMaterialVisitor.cpp b/Core/Tools/src/SampleMaterialVisitor.cpp
index 821fe00bd6dcc7b5b7bc49d0e18b9be6560cc3f6..a9fe57d9c1d9f49aba6484188010b9c817b592c3 100644
--- a/Core/Tools/src/SampleMaterialVisitor.cpp
+++ b/Core/Tools/src/SampleMaterialVisitor.cpp
@@ -2,7 +2,7 @@
 //
 //  BornAgain: simulate and fit scattering at grazing incidence
 //
-//! @file      SampleMaterialVisitor.cpp
+//! @file      Tools/src/SampleMaterialVisitor.cpp
 //! @brief     Implements class SampleMaterialVisitor.
 //!
 //! @homepage  http://apps.jcns.fz-juelich.de/BornAgain
@@ -15,6 +15,14 @@
 
 #include "SampleMaterialVisitor.h"
 
+#include "ISample.h"
+#include "FormFactors.h"
+#include "MultiLayer.h"
+#include "ParticleDecoration.h"
+#include "Particle.h"
+#include "InterferenceFunction1DParaCrystal.h"
+#include "InterferenceFunction2DParaCrystal.h"
+
 #include <algorithm>
 
 SampleMaterialVisitor::SampleMaterialVisitor()
@@ -46,7 +54,7 @@ void SampleMaterialVisitor::visit(const Layer* sample)
 {
     assert(sample);
 
-    IMaterial *p_material = sample->getMaterial();
+    const IMaterial *p_material = sample->getMaterial();
     addMaterial(p_material);
     const IDecoration *p_decoration = sample->getDecoration();
     if (p_decoration) {