diff --git a/MAC/APL/MainCU/src/ObservationControl/ObservationControl.cc b/MAC/APL/MainCU/src/ObservationControl/ObservationControl.cc
index 4a41c783d8ed50f8d5f2857f1a6980f3d630ed94..1c3b4e215f61b94db6d2a31c2c6ab682c73a723f 100644
--- a/MAC/APL/MainCU/src/ObservationControl/ObservationControl.cc
+++ b/MAC/APL/MainCU/src/ObservationControl/ObservationControl.cc
@@ -97,6 +97,7 @@ ObservationControl::ObservationControl(const string&	cntlrName) :
 											 getString("Observation.stopTime"));
 	itsClaimPeriod   = globalParameterSet()->getTime  ("Observation.claimPeriod");
 	itsPreparePeriod = globalParameterSet()->getTime  ("Observation.preparePeriod");
+	itsProcessType   = globalParameterSet()->getString("Observation.processType", "Observation");
 
 	// Values from my conf file
 	itsLateLimit     = globalParameterSet()->getTime   ("ObservationControl.lateLimit", 15);
@@ -741,7 +742,7 @@ void  ObservationControl::doHeartBeatTask()
 		// if no more children left while we are not in the quit-phase
 		time_t	now   = to_time_t(second_clock::universal_time());
 		time_t	stop  = to_time_t(itsStopTime);
-		if (now < stop && itsChildControl->countChilds(0, CNTLRTYPE_STATIONCTRL)==0) {
+		if (now < stop && itsProcessType == "Observation" && itsChildControl->countChilds(0, CNTLRTYPE_STATIONCTRL)==0) {
 			LOG_FATAL("Too less stations left, FORCING QUIT OF OBSERVATION");
 			if (itsState < CTState::RESUME) {
 				itsQuitReason = CT_RESULT_LOST_CONNECTION;
diff --git a/MAC/APL/MainCU/src/ObservationControl/ObservationControl.h b/MAC/APL/MainCU/src/ObservationControl/ObservationControl.h
index 2acf4d7417e74b2804e68e32fd8dfff0a4a2206e..93ce5299b9bec3f8b4a0b6f57f438213b30a4e0a 100644
--- a/MAC/APL/MainCU/src/ObservationControl/ObservationControl.h
+++ b/MAC/APL/MainCU/src/ObservationControl/ObservationControl.h
@@ -162,6 +162,7 @@ private:
 	uint32					itsHeartBeatTimer;
 
 	// ParameterSet variables
+	string					itsProcessType;
 	string					itsTreePrefix;
 	uint32					itsTreeID;
 	uint32					itsHeartBeatItv;