diff --git a/Sample/FFCompute/ComputeBA.cpp b/Sample/FFCompute/ComputeBA.cpp
index eb21ab4ca79a92043312a6ebdc203174d3a35294..ca75a91e4e0bc9f2a038a396f6bd8f174fe9dafe 100644
--- a/Sample/FFCompute/ComputeBA.cpp
+++ b/Sample/FFCompute/ComputeBA.cpp
@@ -13,6 +13,7 @@
 //  ************************************************************************************************
 
 #include "Sample/FFCompute/ComputeBA.h"
+#include "Sample/Scattering/IFormFactor.h"
 #include "Sample/Material/WavevectorInfo.h"
 
 ComputeBA::ComputeBA(const IFormFactor& ff) : IComputeFF(ff)
diff --git a/Sample/FFCompute/ComputeBAPol.h b/Sample/FFCompute/ComputeBAPol.h
index 49bff7a8af974541b959aa5fba2a0377987586e6..dbc6fea561e5de76f08d75103585a01f3c487908 100644
--- a/Sample/FFCompute/ComputeBAPol.h
+++ b/Sample/FFCompute/ComputeBAPol.h
@@ -16,6 +16,7 @@
 #define BORNAGAIN_SAMPLE_SCATTERING_COMPUTEBAPOL_H
 
 #include "Sample/FFCompute/IComputeFF.h"
+#include "Sample/Scattering/IFormFactor.h"
 #include <memory>
 
 //! Evaluates the matrix BA term in a polarized IFormFactor.
diff --git a/Sample/FFCompute/ComputeDWBA.cpp b/Sample/FFCompute/ComputeDWBA.cpp
index abbaf0a00c501d50f48d81678793644685d0e18d..1431295fc112be14dd2fe875639f5fd2ab15802e 100644
--- a/Sample/FFCompute/ComputeDWBA.cpp
+++ b/Sample/FFCompute/ComputeDWBA.cpp
@@ -13,6 +13,7 @@
 //  ************************************************************************************************
 
 #include "Sample/FFCompute/ComputeDWBA.h"
+#include "Sample/Scattering/IFormFactor.h"
 #include "Sample/Material/WavevectorInfo.h"
 #include "Sample/RT/ILayerRTCoefficients.h"
 
diff --git a/Sample/FFCompute/ComputeDWBAPol.cpp b/Sample/FFCompute/ComputeDWBAPol.cpp
index b01e73998cb57c9a6d11fe9eaa01e0a274936ed0..c11c5fbbe99cd0e9c597cbccac094fe6a85bedcd 100644
--- a/Sample/FFCompute/ComputeDWBAPol.cpp
+++ b/Sample/FFCompute/ComputeDWBAPol.cpp
@@ -13,6 +13,7 @@
 //  ************************************************************************************************
 
 #include "Sample/FFCompute/ComputeDWBAPol.h"
+#include "Sample/Scattering/IFormFactor.h"
 #include "Sample/Material/WavevectorInfo.h"
 #include "Sample/RT/ILayerRTCoefficients.h"
 
diff --git a/Sample/FFCompute/IComputeFF.cpp b/Sample/FFCompute/IComputeFF.cpp
index c47e678dacf49489a6ef9e1282c57f63b806eb40..df473134dfc30639189152b92807a906a29b06a4 100644
--- a/Sample/FFCompute/IComputeFF.cpp
+++ b/Sample/FFCompute/IComputeFF.cpp
@@ -13,6 +13,7 @@
 //  ************************************************************************************************
 
 #include "Sample/FFCompute/IComputeFF.h"
+#include "Sample/Scattering/IFormFactor.h"
 #include <stdexcept>
 
 IComputeFF::IComputeFF(const IFormFactor& ff) : m_ff(ff.clone()) {}
diff --git a/Sample/FFCompute/IComputeFF.h b/Sample/FFCompute/IComputeFF.h
index 7bee6fbf659d4a39cdabfc25c16a420f7d4b296e..d443028d1f96f0a7da0fba5186902c287ef52207 100644
--- a/Sample/FFCompute/IComputeFF.h
+++ b/Sample/FFCompute/IComputeFF.h
@@ -15,8 +15,15 @@
 #ifndef BORNAGAIN_SAMPLE_SCATTERING_ICOMPUTEFF_H
 #define BORNAGAIN_SAMPLE_SCATTERING_ICOMPUTEFF_H
 
-#include "Sample/Scattering/IFormFactor.h"
+#include "Base/Types/Complex.h"
 #include <Eigen/Core>
+#include <memory>
+
+class IFormFactor;
+class ILayerRTCoefficients;
+class IRotation;
+class Material;
+class WavevectorInfo;
 
 class IComputeFF {
 
diff --git a/Sample/Scattering/IFormFactor.cpp b/Sample/Scattering/IFormFactor.cpp
index 446bd816dc7fd8a9fbc417f1288cc19be176afad..a0263fa8d40452e43a9bf832bd2b1b41f36eb20f 100644
--- a/Sample/Scattering/IFormFactor.cpp
+++ b/Sample/Scattering/IFormFactor.cpp
@@ -12,6 +12,7 @@
 //
 //  ************************************************************************************************
 
+#include "Sample/Scattering/IFormFactor.h"
 #include "Sample/FFCompute/FormFactorDecoratorPositionFactor.h"
 #include "Sample/FFCompute/FormFactorDecoratorRotation.h"
 #include "Sample/FFCompute/Rotations.h"