diff --git a/MAC/APL/StationCU/src/HardwareMonitor/RSPMonitor.cc b/MAC/APL/StationCU/src/HardwareMonitor/RSPMonitor.cc
index f9f60022ef86064d71043505600fa773f9039021..ce5991b429b1aaf80b067baa72902f926fca1b01 100644
--- a/MAC/APL/StationCU/src/HardwareMonitor/RSPMonitor.cc
+++ b/MAC/APL/StationCU/src/HardwareMonitor/RSPMonitor.cc
@@ -297,6 +297,7 @@ GCFEvent::TResult RSPMonitor::askConfiguration(GCFEvent& event,
 		itsNrHBAs = RSconf.getInt("RS.N_HBAS", 0);
 		itsNrLBAs = RSconf.getInt("RS.N_LBAS", 0);
 		itsHasSplitters = RSconf.getBool("RS.HBA_SPLIT", false);
+		itsHasAartfaac  = RSconf.getBool("RS.AARTFAAC", false);
 
 		// inform user
 		LOG_INFO(formatString("nr RCUs      = %d",ack.n_rcus));
@@ -307,6 +308,7 @@ GCFEvent::TResult RSPMonitor::askConfiguration(GCFEvent& event,
 		LOG_INFO(formatString("nr HBAs      = %d", itsNrHBAs));
 		LOG_INFO_STR(         "RSPmask      = " << itsRSPmask);
 		LOG_INFO(formatString("has splitters= %s", (itsHasSplitters ? "yes" : "no")));
+		LOG_INFO(formatString("has aartfaac = %s", (itsHasAartfaac ? "yes" : "no")));
 	
 		// do some checks
 		if (itsNrRSPboards != (uint32)ack.max_rspboards) {
@@ -1248,7 +1250,12 @@ GCFEvent::TResult RSPMonitor::askDatastream(GCFEvent& event, GCFPortInterface& p
 	case F_TIMER:
 		LOG_ERROR_STR ("RSP:Timeout on getting the datastream information, trying other information");
 		itsOwnPropertySet->setValue(PN_FSM_ERROR,GCFPVString("RSP:getdatastream timeout"));
-		TRAN(RSPMonitor::askAartfaacState);			// go to next state.
+		if (itsHasAartfaac) {
+			TRAN(RSPMonitor::askAartfaacState);			// go to next state.
+		}
+		else {
+			TRAN(RSPMonitor::waitForNextCycle);			// go to next state.
+		}	
 		break;
 
 	case RSP_GETDATASTREAMACK: {
@@ -1257,7 +1264,12 @@ GCFEvent::TResult RSPMonitor::askDatastream(GCFEvent& event, GCFPortInterface& p
 		if (ack.status != RSP_SUCCESS) {
 			LOG_ERROR ("RSP:Failed to get the datastream information. Trying other information");
 			itsOwnPropertySet->setValue(PN_FSM_ERROR,GCFPVString("RSP:getdatastream error"));
-			TRAN(RSPMonitor::askAartfaacState);			// go to next state.
+			if (itsHasAartfaac) {
+				TRAN(RSPMonitor::askAartfaacState);			// go to next state.
+			}
+			else {
+				TRAN(RSPMonitor::waitForNextCycle);			// go to next state.
+			}	
 			break;
 		}
 
@@ -1268,7 +1280,12 @@ GCFEvent::TResult RSPMonitor::askDatastream(GCFEvent& event, GCFPortInterface& p
 
 		LOG_DEBUG ("Updated datastream information, waiting for next cycle");
 //		itsOwnPropertySet->setValue(PN_HWM_RSP_ERROR,GCFPVString(""));
-		TRAN(RSPMonitor::askAartfaacState);			// go to next state.
+		if (itsHasAartfaac) {
+			TRAN(RSPMonitor::askAartfaacState);			// go to next state.
+		}
+		else {
+			TRAN(RSPMonitor::waitForNextCycle);			// go to next state.
+		}
 	}
 	break;
 
@@ -1295,6 +1312,7 @@ GCFEvent::TResult RSPMonitor::askDatastream(GCFEvent& event, GCFPortInterface& p
 	return (status);
 }
 
+
 //
 // askAartfaacState(event, port)
 //
diff --git a/MAC/APL/StationCU/src/HardwareMonitor/RSPMonitor.h b/MAC/APL/StationCU/src/HardwareMonitor/RSPMonitor.h
index b3dd9aabff8f06b403f440b577241cf313816857..8c98c38e8b0896461632acf6769d0addd676b442 100644
--- a/MAC/APL/StationCU/src/HardwareMonitor/RSPMonitor.h
+++ b/MAC/APL/StationCU/src/HardwareMonitor/RSPMonitor.h
@@ -106,17 +106,18 @@ private:
 	vector<RTDBPropertySet*>	itsSubracks;
 	vector<RTDBPropertySet*>	itsRSPs;
 	vector<RTDBPropertySet*>	itsRCUs;
-	RTDBPropertySet*			itsStationInfo;
+	RTDBPropertySet*		itsStationInfo;
 	RTDBPropertySet*			itsAartfaacInfo;
 
 	blitz::Array<uint,1>		itsRCUstates;		// actual status of the RCUs
 	blitz::Array<bool,2>		itsRCUInputStates;	// enable state of the three RCU inputs
-	int							itsRCUquery;		// ID of the PVSS query
-	AntennaMapper*				itsAntMapper;
-	bool						itsHasSplitters;	// from RemoteStation.conf
+	int				itsRCUquery;		// ID of the PVSS query
+	AntennaMapper*			itsAntMapper;
+	bool				itsHasSplitters;	// from RemoteStation.conf
+	bool				itsHasAartfaac;	// from RemoteStation.conf
 	bitset<MAX_RSPBOARDS>		itsSplitters;		// on or off.
 	bitset<MAX_RSPBOARDS>		itsRSPmask;			// present in station or not
-	bitset<MAX_RCUS>			itsRCUmask;			// present in station or not
+	bitset<MAX_RCUS>		itsRCUmask;			// present in station or not
 
 };