diff --git a/CEP/DP3/DPPP_DDECal/include/DPPP_DDECal/DDECal.h b/CEP/DP3/DPPP_DDECal/include/DPPP_DDECal/DDECal.h
index b64c013bd54effbaf1fc76632b77356819410186..396b4c45cecbbf76e4a67f4b7c4718982b61aab8 100644
--- a/CEP/DP3/DPPP_DDECal/include/DPPP_DDECal/DDECal.h
+++ b/CEP/DP3/DPPP_DDECal/include/DPPP_DDECal/DDECal.h
@@ -112,6 +112,7 @@ namespace LOFAR {
 
       // For each time, for each channel block, a vector of size nAntennas * nDirections
       std::vector<std::vector<std::vector<casacore::DComplex> > > itsSols;
+      std::vector<uint> itsNIter; // Number of iterations taken
 
       // For each time, for each constraint, a vector of results (e.g. tec and phase)
       std::vector<std::vector<std::vector<Constraint::Result> > > itsConstraintSols;
diff --git a/CEP/DP3/DPPP_DDECal/src/DDECal.cc b/CEP/DP3/DPPP_DDECal/src/DDECal.cc
index 23a9d58325de62670fcfe67590a04964840b8367..2d9540fe84180bc94478be2d1481b6e991b2592e 100644
--- a/CEP/DP3/DPPP_DDECal/src/DDECal.cc
+++ b/CEP/DP3/DPPP_DDECal/src/DDECal.cc
@@ -220,6 +220,7 @@ namespace LOFAR {
 
       uint nSolTimes = (info().ntime()+itsSolInt-1)/itsSolInt;
       itsSols.resize(nSolTimes);
+      itsNIter.resize(nSolTimes);
       itsConstraintSols.resize(nSolTimes);
 
       vector<double> chanFreqs(info().nchan());  //nChannelBlocks
@@ -306,6 +307,12 @@ namespace LOFAR {
       os << "          ";
       FlagCounter::showPerc1 (os, itsTimerWrite.getElapsed(), totaltime);
       os << " of it spent in writing gain solutions to disk" << endl;
+
+      os << "Iterations taken: [";
+      for (uint i=0; i<itsNIter.size()-1; ++i) {
+        os<<itsNIter[i]<<",";
+      }
+      os<<itsNIter[itsNIter.size()-1]<<"]"<<endl;
     }
 
     bool DDECal::process (const DPBuffer& bufin)
@@ -376,6 +383,7 @@ namespace LOFAR {
                   itsAvgTime / itsSolInt);
         itsTimerSolve.stop();
 
+        itsNIter[itsTimeStep/itsSolInt] = solveResult.iterations;
         // Store constraint solutions
         if (itsMode!="complexgain" && itsMode!="phaseonly") {
           itsConstraintSols[itsTimeStep/itsSolInt]=solveResult._results;