diff --git a/MAC/APL/CEPCU/src/OnlineControl/OnlineControl.cc b/MAC/APL/CEPCU/src/OnlineControl/OnlineControl.cc
index 33d00dd845a3cee239249176b7e9f4999acf08d1..25b8d83bdcb128de0e223d572bcfb2a0488b8491 100644
--- a/MAC/APL/CEPCU/src/OnlineControl/OnlineControl.cc
+++ b/MAC/APL/CEPCU/src/OnlineControl/OnlineControl.cc
@@ -40,6 +40,7 @@
 #include <APL/APLCommon/APLUtilities.h>
 #include <APL/APLCommon/CTState.h>
 #include <GCF/RTDB/DP_Protocol.ph>
+#include <PLC/PCCmd.h>
 
 #include "OnlineControl.h"
 #include "OnlineControlDefines.h"
@@ -160,7 +161,7 @@ void    OnlineControl::_setState(CTState::CTstateNr     newState)
 	// Update PVSS to inform operator.
 	if (itsPropertySet) {
 		CTState		cts;
-		itsPropertySet->setValue(PVSSNAME_FSM_STATE, GCFPVString(cts.name(newState)));
+		itsPropertySet->setValue(PVSSNAME_FSM_CURACT, GCFPVString(cts.name(newState)));
 	}
 }   
 
@@ -181,6 +182,7 @@ void	OnlineControl::startNewState(CTState::CTstateNr		newState,
 			iter->second->sendCommand(newState, options);
 		}
 		itsOverallResult = 0;
+		itsOptions.clear();
 		itsNrOfAcks2Recv = itsCEPapplications.size();
 	}
 	else {
@@ -189,6 +191,7 @@ void	OnlineControl::startNewState(CTState::CTstateNr		newState,
 		iter->second->sendCommand(newState, options);
 		itsOverallResult = 0;
 		itsNrOfAcks2Recv = 1;
+		itsOptions = options;
 	}
 
 	// TODO: start timer???
@@ -255,7 +258,7 @@ void	OnlineControl::appSetStateResult(const string&			procName,
 			CAMiter		nextApp = nextApplication();
 			LOG_DEBUG_STR("Sending " << cts.name(itsState) << " to next application: "
 							<< nextApp->second->getName());
-			nextApp->second->sendCommand(itsState, "" /*options*/);
+			nextApp->second->sendCommand(itsState, itsOptions);
 			return;
 		}
 	}
@@ -309,7 +312,8 @@ GCFEvent::TResult OnlineControl::initial_state(GCFEvent& event,
 
     case F_INIT: {
 		// Get access to my own propertyset.
-		string	propSetName = formatString(ONC_PROPSET_NAME, itsInstanceNr);
+		uint32	obsID = globalParameterSet()->getUint32("Observation.ObsID");
+		string	propSetName = formatString(ONC_PROPSET_NAME, obsID);
 		LOG_DEBUG_STR ("Activating PropertySet: "<< propSetName);
 		itsPropertySet = new RTDBPropertySet(propSetName,
 											 ONC_PROPSET_TYPE,
@@ -331,7 +335,7 @@ GCFEvent::TResult OnlineControl::initial_state(GCFEvent& event,
 	case F_TIMER: {	// must be timer that PropSet is online.
 		// update PVSS.
 		LOG_TRACE_FLOW ("Updateing state to PVSS");
-		itsPropertySet->setValue(PVSSNAME_FSM_STATE, GCFPVString("initial"));
+		itsPropertySet->setValue(PVSSNAME_FSM_CURACT, GCFPVString("initial"));
 		itsPropertySet->setValue(PVSSNAME_FSM_ERROR, GCFPVString(""));
 	  
 		// Start ParentControl task
@@ -375,7 +379,7 @@ GCFEvent::TResult OnlineControl::active_state(GCFEvent& event, GCFPortInterface&
 	switch (event.signal) {
 	case F_ENTRY: {
 		// update PVSS
-		itsPropertySet->setValue(PVSSNAME_FSM_STATE, GCFPVString("active"));
+		itsPropertySet->setValue(PVSSNAME_FSM_CURACT, GCFPVString("active"));
 		itsPropertySet->setValue(PVSSNAME_FSM_ERROR, GCFPVString(""));
 	}
 	break;
@@ -451,7 +455,7 @@ GCFEvent::TResult OnlineControl::active_state(GCFEvent& event, GCFPortInterface&
 	case CONTROL_SUSPEND: {
 		CONTROLSuspendEvent		msg(event);
 		LOG_DEBUG_STR("Received SUSPEND(" << msg.cntlrName << ")");
-		startNewState(CTState::SUSPEND, ""/*options*/);
+		startNewState(CTState::SUSPEND, PAUSE_OPTION_NOW);
 		break;
 	}
 
@@ -502,7 +506,7 @@ GCFEvent::TResult OnlineControl::finishing_state(GCFEvent& event, GCFPortInterfa
 	switch (event.signal) {
 	case F_ENTRY: {
 		// update PVSS
-		itsPropertySet->setValue(PVSSNAME_FSM_STATE, GCFPVString("finished"));
+		itsPropertySet->setValue(PVSSNAME_FSM_CURACT, GCFPVString("finished"));
 		itsPropertySet->setValue(PVSSNAME_FSM_ERROR, GCFPVString(""));
 
 		itsTimerPort->setTimer(1.0);
@@ -585,8 +589,8 @@ void OnlineControl::_doBoot()
 			APLCommon::APLUtilities::remoteCopy(paramFileName,accHost,LOFAR_SHARE_LOCATION);
 
 			// Finally start ApplController on the right host
-			LOG_INFO_STR("Starting controller for " << applName);
-			sleep(1);			 // sometimes we are too quick, wait a second.
+			LOG_INFO_STR("Starting controller for " << applName << " in 3 seconds ");
+			sleep(3);			 // sometimes we are too quick, wait a second.
 			int32	expectedRuntime = time_duration(itsStopTime - itsStartTime).total_seconds();
 			CEPApplMgrPtr	accClient (new CEPApplMgr(*this, applName, expectedRuntime, accHost, paramFileName));
 			itsCEPapplications[applName] = accClient;
@@ -762,6 +766,7 @@ OnlineControl::CAMiter OnlineControl::nextApplication()
 void OnlineControl::noApplication()
 {
 	itsCurrentAppl = "";
+	itsOptions.clear();
 }
 
 
diff --git a/MAC/APL/CEPCU/src/OnlineControl/OnlineControl.h b/MAC/APL/CEPCU/src/OnlineControl/OnlineControl.h
index 103a593a319a59eaf9880227255d6cce0f503f6c..2c9aea500a63f0fd133b5c6d53e3fe8c67f18071 100644
--- a/MAC/APL/CEPCU/src/OnlineControl/OnlineControl.h
+++ b/MAC/APL/CEPCU/src/OnlineControl/OnlineControl.h
@@ -138,6 +138,7 @@ private:
 	vector<string>			itsApplOrder;		// startOrder of the applications.
 	string					itsCurrentAppl;		// current application we are handling.
 	CTState::CTstateNr		itsApplState;		// state currently handled by apps.
+	string					itsOptions;			// Current active option
 
 	uint16					itsOverallResult;
 	int16					itsNrOfAcks2Recv;
diff --git a/MAC/APL/CEPCU/src/OnlineControl/OnlineControlDefines.h b/MAC/APL/CEPCU/src/OnlineControl/OnlineControlDefines.h
index 16e810ce232a3547bc2fd4f2fa8d83c4b441437b..d1e91e7af9348720f0411f6716b2496157a3aae4 100644
--- a/MAC/APL/CEPCU/src/OnlineControl/OnlineControlDefines.h
+++ b/MAC/APL/CEPCU/src/OnlineControl/OnlineControlDefines.h
@@ -28,7 +28,7 @@ namespace LOFAR {
 
 #define ONC_TASKNAME					"OnlineCtrl"
 
-#define ONC_PROPSET_NAME				"LOFAR_ObsSW_ObsCtrl%d_OnlineCtrl"
+#define ONC_PROPSET_NAME				"LOFAR_ObsSW_Observation%d_OnlineCtrl"
 #define ONC_PROPSET_TYPE				"OnlineCtrl"
 #define ONC_OBSERVATIONSTATE			"observationState"