diff --git a/Core/Computation/MainComputation.cpp b/Core/Computation/MainComputation.cpp
index 3cd3c3ed45d9c44019485df3bb8a386ddfad5c8c..06dd9cf2c73e19c9d2e964c2b6a8b0f265cfe15b 100644
--- a/Core/Computation/MainComputation.cpp
+++ b/Core/Computation/MainComputation.cpp
@@ -17,7 +17,6 @@
 #include "ParticleLayoutComputation.h"
 #include "Layer.h"
 #include "IFresnelMap.h"
-#include "Instrument.h"
 #include "MatrixFresnelMap.h"
 #include "MultiLayer.h"
 #include "RoughMultiLayerComputation.h"
@@ -35,13 +34,11 @@ Material CalculateAverageMaterial(const Material& layer_mat,
 
 MainComputation::MainComputation(
     const MultiLayer& multilayer,
-    const Instrument& instrument,
     const SimulationOptions& options,
     ProgressHandler& progress,
     const std::vector<SimulationElement>::iterator& begin_it,
     const std::vector<SimulationElement>::iterator& end_it)
     : mP_multi_layer(multilayer.cloneSliced(options.useAvgMaterials()))
-    , m_instrument(instrument)
     , m_sim_options(options)
     , m_progress(&progress)
     , m_begin_it(begin_it)
diff --git a/Core/Computation/MainComputation.h b/Core/Computation/MainComputation.h
index 76b5a551cbaa8558c76f85b9350eb1d087a6ced2..373b3e2dc4c113426e9a55444820b4b55559eed8 100644
--- a/Core/Computation/MainComputation.h
+++ b/Core/Computation/MainComputation.h
@@ -25,7 +25,6 @@
 
 class IFresnelMap;
 class MultiLayer;
-class Instrument;
 struct HomogeneousRegion;
 class IComputationTerm;
 class ProgressHandler;
@@ -43,7 +42,6 @@ class MainComputation final : public INoncopyable
 public:
     MainComputation(
         const MultiLayer& multilayer,
-        const Instrument& instrument,
         const SimulationOptions& options,
         ProgressHandler& progress,
         const std::vector<SimulationElement>::iterator& begin_it,
@@ -68,7 +66,6 @@ private:
     bool checkRegions(const std::vector<HomogeneousRegion>& regions) const;
 
     std::unique_ptr<MultiLayer> mP_multi_layer;
-    const Instrument& m_instrument;
     SimulationOptions m_sim_options;
     ProgressHandler* m_progress;
     //! these iterators define the span of detector bins this simulation will work on
diff --git a/Core/Simulation/Simulation.cpp b/Core/Simulation/Simulation.cpp
index 189e980b7703411259c1980d1f85bf915a143327..67f83bc2041ead0c58747cde1689b1525438dbaf 100644
--- a/Core/Simulation/Simulation.cpp
+++ b/Core/Simulation/Simulation.cpp
@@ -215,7 +215,7 @@ void Simulation::runSingleSimulation()
     if (m_options.getNumberOfThreads() == 1) {
         // Single thread.
         std::unique_ptr<MainComputation> P_computation(
-            new MainComputation(*sample(), m_instrument, m_options, m_progress, batch_start, batch_end));
+            new MainComputation(*sample(), m_options, m_progress, batch_start, batch_end));
         P_computation->run(); // the work is done here
         if (!P_computation->isCompleted()) {
             std::string message = P_computation->errorMessage();
@@ -246,7 +246,7 @@ void Simulation::runSingleSimulation()
             else
                 end_it = batch_start + end_thread_index;
             computations.emplace_back(
-                new MainComputation(*sample(), m_instrument, m_options, m_progress, begin_it, end_it));
+                new MainComputation(*sample(), m_options, m_progress, begin_it, end_it));
         }
 
         // Run simulations in n threads.