diff --git a/Core/Algorithms/inc/ChiSquaredModule.h b/Core/Algorithms/inc/ChiSquaredModule.h
index 65fa517fdbe3994ee35b6fcdffb3f9a4c4a0e9a6..abca447da7e638518b870de0ad32bdf2c3685d2b 100644
--- a/Core/Algorithms/inc/ChiSquaredModule.h
+++ b/Core/Algorithms/inc/ChiSquaredModule.h
@@ -41,6 +41,7 @@ public:
 
     //! Returns residual between data and simulation for single element.
     virtual double getResidualValue(size_t index ) const;
+
 };
 
 #endif /* CHISQUAREDMODULE_H_ */
diff --git a/Core/Algorithms/src/ChiSquaredModule.cpp b/Core/Algorithms/src/ChiSquaredModule.cpp
index 10255cbdee1bad9208405064988408b614003524..38e05c600e38fd5acc8b743d05498aefb50f3276 100644
--- a/Core/Algorithms/src/ChiSquaredModule.cpp
+++ b/Core/Algorithms/src/ChiSquaredModule.cpp
@@ -46,6 +46,7 @@ double ChiSquaredModule::calculateChiSquared()
     OutputData<double> *p_difference = createChi2DifferenceMap();
     OutputData<double>::const_iterator it_weights = mp_weights->begin();
     OutputData<double>::const_iterator it_diff = p_difference->begin();
+
     double sum = 0;
     while(it_diff != p_difference->end())
         sum += (*it_diff++)*(*it_weights++);
@@ -92,6 +93,9 @@ OutputData<double>* ChiSquaredModule::createChi2DifferenceMap() const
     OutputData<double>::const_iterator it_real = mp_real_data->begin();
 
     while (it_diff != p_difference->end()) {
+        if( (it_sim.getIndex() != it_real.getIndex()) || (it_sim.getIndex() != it_diff.getIndex()) ) {
+            throw DomainErrorException("ChiSquaredModule::calculateChiSquared() -> Iterator inconsistency");
+        }
         double value_simu = *it_sim++;
         double value_real = *it_real++;
         double squared_difference =
@@ -105,3 +109,4 @@ OutputData<double>* ChiSquaredModule::createChi2DifferenceMap() const
 }
 
 
+