diff --git a/CEP/DP3/AOFlagger/include/AOFlagger/strategy/actions/addstatisticsaction.h b/CEP/DP3/AOFlagger/include/AOFlagger/strategy/actions/addstatisticsaction.h
index d1e4ceac65a1aac9572b216e0f412673555247ad..5fe36add565815cebf23957d4189da06e316936d 100644
--- a/CEP/DP3/AOFlagger/include/AOFlagger/strategy/actions/addstatisticsaction.h
+++ b/CEP/DP3/AOFlagger/include/AOFlagger/strategy/actions/addstatisticsaction.h
@@ -36,18 +36,30 @@ namespace rfiStrategy {
 	class AddStatisticsAction : public Action
 	{
 		public:
-			AddStatisticsAction() : _comparison(false), _separateBaselineStatistics(false), _performClassification(true)
+			AddStatisticsAction() : _comparison(false), _separateBaselineStatistics(false), _performClassification(true), _writeImmediately(false)
 			{
 			}
+			
+			virtual ~AddStatisticsAction()
+			{
+				Sync();
+			}
 
 			virtual std::string Description()
 			{
 				return "Add to statistics";
 			}
+			
+			virtual void Sync()
+			{
+				statistics.Save();
+			}
+			
 			virtual void Perform(class ArtifactSet &artifacts, class ProgressListener &)
 			{
 				statistics.SetSeparateBaselineStatistics(_separateBaselineStatistics);
 				statistics.SetPerformClassification(_performClassification);
+				statistics.SetWriteImmediately(_writeImmediately);
 				if(_comparison)
 					statistics.Add(artifacts.ContaminatedData(), artifacts.MetaData(), artifacts.OriginalData().GetSingleMask());
 				else
@@ -72,11 +84,18 @@ namespace rfiStrategy {
 			{
 				_performClassification = performClassification;
 			}
-private:
+
+			bool WriteImmediately() const { return _writeImmediately; }
+			void SetWriteImmediately(bool writeImmediately)
+			{
+				_writeImmediately = writeImmediately;
+			}
+		private:
 			RFIStatistics statistics;
 			bool _comparison;
 			bool _separateBaselineStatistics;
 			bool _performClassification;
+			bool _writeImmediately;
 	};
 }
 
diff --git a/CEP/DP3/AOFlagger/include/AOFlagger/strategy/algorithms/rfistatistics.h b/CEP/DP3/AOFlagger/include/AOFlagger/strategy/algorithms/rfistatistics.h
index 1d4ebd5dd79007043d81372f4bc5a0188a581f8f..1ca31724ca7c368b24ad1f35787030e602bf95c8 100644
--- a/CEP/DP3/AOFlagger/include/AOFlagger/strategy/algorithms/rfistatistics.h
+++ b/CEP/DP3/AOFlagger/include/AOFlagger/strategy/algorithms/rfistatistics.h
@@ -220,7 +220,7 @@ class RFIStatistics {
 			RFIStatistics *baselineStatistics;
 		};
 
-		RFIStatistics() : _separateBaselineStatistics(false), _compareFlags(false), _filePrefix(""), _channelCountPerSubband(256), _ignoreFirstChannel(true), _performClassification(true) { }
+		RFIStatistics() : _separateBaselineStatistics(false), _compareFlags(false), _filePrefix(""), _channelCountPerSubband(256), _ignoreFirstChannel(true), _performClassification(true), _writeImmediately(false) { }
 		~RFIStatistics() { }
 		
 		void Add(const TimeFrequencyData &data, TimeFrequencyMetaDataCPtr metaData);
@@ -310,6 +310,9 @@ class RFIStatistics {
 
 		bool IgnoreFirstChannel() const { return _ignoreFirstChannel; }
 		void SetIgnoreFirstChannel(bool value) { _ignoreFirstChannel = value; }
+		
+		bool WriteImmediately() const { return _writeImmediately; }
+		void SetWriteImmediately(bool value) { _writeImmediately = value; }
 	private:
 		struct FeatureInfo {
 			long double amplitudeSum;
@@ -347,6 +350,7 @@ class RFIStatistics {
 		std::string _filePrefix;
 		unsigned _channelCountPerSubband;
 		bool _ignoreFirstChannel, _performClassification;
+		bool _writeImmediately;
 		
 		void addEverything(const TimeFrequencyData &data, TimeFrequencyMetaDataCPtr metaData, Image2DCPtr image, Mask2DCPtr mask, SegmentedImagePtr segmentedMask, SegmentedImagePtr classifiedMask);
 		void addSingleBaseline(const TimeFrequencyData &data, TimeFrequencyMetaDataCPtr metaData, Image2DCPtr image, Mask2DCPtr mask, SegmentedImagePtr segmentedMask, SegmentedImagePtr classifiedMask, bool save);
diff --git a/CEP/DP3/AOFlagger/include/AOFlagger/strategy/control/types.h b/CEP/DP3/AOFlagger/include/AOFlagger/strategy/control/types.h
index c43c3d963b7709b6c28a388986096aeb6c43ddf1..e1a39773af24e6a3bae2de73a892ae3e9b9a22fd 100644
--- a/CEP/DP3/AOFlagger/include/AOFlagger/strategy/control/types.h
+++ b/CEP/DP3/AOFlagger/include/AOFlagger/strategy/control/types.h
@@ -76,6 +76,7 @@ class Observatorium;
 //        hence version renamed to:
 // 3.0 : as 2.10
 // 3.1 : added the CollectNoiseStatisticsAction.
+// 3.2 : added parameter "write-immediately" to the Add Statistics Action.
 #define STRATEGY_FILE_FORMAT_VERSION 3.1
 
 // The earliest format version which can be read by this version of the software
diff --git a/CEP/DP3/AOFlagger/src/strategy/algorithms/rfistatistics.cpp b/CEP/DP3/AOFlagger/src/strategy/algorithms/rfistatistics.cpp
index bed2ba6a1ca6411138e2d0a668633706eb97b6c1..5c4386ed341f70a275ff5ab1404dd0b3f1965d95 100644
--- a/CEP/DP3/AOFlagger/src/strategy/algorithms/rfistatistics.cpp
+++ b/CEP/DP3/AOFlagger/src/strategy/algorithms/rfistatistics.cpp
@@ -57,11 +57,14 @@ void RFIStatistics::Add(const TimeFrequencyData &data, TimeFrequencyMetaDataCPtr
 
 void RFIStatistics::addEverything(const TimeFrequencyData &data, TimeFrequencyMetaDataCPtr metaData, Image2DCPtr image, Mask2DCPtr mask, SegmentedImagePtr segmentedMask, SegmentedImagePtr classifiedMask)
 {
-	addSingleBaseline(data, metaData, image, mask, segmentedMask, classifiedMask, true);
+	addSingleBaseline(data, metaData, image, mask, segmentedMask, classifiedMask, _writeImmediately);
 	addBaselines(data, metaData, image, mask, segmentedMask, classifiedMask);
-	saveBaselines(_filePrefix + "counts-baselines.txt");
-	saveBaselineTimeInfo(_filePrefix + "counts-baseltime.txt");
-	saveBaselineFrequencyInfo(_filePrefix + "counts-baselfreq.txt");
+	if(_writeImmediately)
+	{
+		saveBaselines(_filePrefix + "counts-baselines.txt");
+		saveBaselineTimeInfo(_filePrefix + "counts-baseltime.txt");
+		saveBaselineFrequencyInfo(_filePrefix + "counts-baselfreq.txt");
+	}
 }
 
 void RFIStatistics::addSingleBaseline(const TimeFrequencyData &data, TimeFrequencyMetaDataCPtr metaData, Image2DCPtr image, Mask2DCPtr mask, SegmentedImagePtr segmentedMask, SegmentedImagePtr classifiedMask, bool save)
diff --git a/CEP/DP3/AOFlagger/src/strategy/control/strategyreader.cpp b/CEP/DP3/AOFlagger/src/strategy/control/strategyreader.cpp
index 3aa0465ffe33a805fe7e6186ed48d0fafd160511..bc79f7b499ae6ba1486ac24fc298dfe91f4cf831 100644
--- a/CEP/DP3/AOFlagger/src/strategy/control/strategyreader.cpp
+++ b/CEP/DP3/AOFlagger/src/strategy/control/strategyreader.cpp
@@ -317,6 +317,7 @@ Action *StrategyReader::parseAddStatistics(xmlNode *node)
 	newAction->SetCompareOriginalAndAlternative(getBool(node, "compare-original-and-alternative"));
 	newAction->SetSeparateBaselineStatistics(getBool(node, "separate-baseline-statistics"));
 	newAction->SetPerformClassification(getBool(node, "perform-classification"));
+	newAction->SetWriteImmediately(getBool(node, "write-immediately"));
 	return newAction;
 }
 
diff --git a/CEP/DP3/AOFlagger/src/strategy/control/strategywriter.cpp b/CEP/DP3/AOFlagger/src/strategy/control/strategywriter.cpp
index 4b3951a277a2598ffa12908041442955ab1f787c..0f55fd924fef75a6360dbbca5a48e6a0dec8f6ba 100644
--- a/CEP/DP3/AOFlagger/src/strategy/control/strategywriter.cpp
+++ b/CEP/DP3/AOFlagger/src/strategy/control/strategywriter.cpp
@@ -218,6 +218,7 @@ namespace rfiStrategy {
 		Write("compare-original-and-alternative", action.CompareOriginalAndAlternative());
 		Write("separate-baseline-statistics", action.SeparateBaselineStatistics());
 		Write("perform-classification", action.PerformClassification());
+		Write("write-immediately", action.WriteImmediately());
 	}
 
 	void StrategyWriter::writeBaselineSelectionAction(const class BaselineSelectionAction &action)