diff --git a/MAC/APL/StationCU/src/BeamControl/BeamControl.cc b/MAC/APL/StationCU/src/BeamControl/BeamControl.cc
index 39e75182dc47737605f5a9baaab2c44eb3bfad4e..11350e5b5a6176af9b1916a250c69d51bc515eb0 100644
--- a/MAC/APL/StationCU/src/BeamControl/BeamControl.cc
+++ b/MAC/APL/StationCU/src/BeamControl/BeamControl.cc
@@ -467,21 +467,22 @@ GCFEvent::TResult BeamControl::allocBeams_state(GCFEvent& event, GCFPortInterfac
 			StationConfig		sc;
 			beamAllocEvent.ringNr = ((sc.hasSplitters && (beamAllocEvent.antennaSet == "HBA_ONE")) ? 1 : 0);
 
-			if (itsObs->beams[beamIdx].subbands.size() != itsObs->beams[beamIdx].beamlets.size()) {
+			vector<int> beamBeamlets = itsObs->getBeamlets(beamIdx);
+			if (itsObs->beams[beamIdx].subbands.size() != beamBeamlets.size()) {
 				LOG_FATAL_STR("size of subbandList (" << itsObs->beams[beamIdx].subbands.size() << ") != " <<
-								"size of beamletList (" << itsObs->beams[beamIdx].beamlets.size() << ")");
+								"size of beamletList (" << beamBeamlets.size() << ")");
 				setState(CTState::CLAIMED);
 				sendControlResult(*itsParentPort, CONTROL_PREPARED, getName(), CT_RESULT_BEAMALLOC_FAILED);
 				TRAN(BeamControl::claimed_state);
 				return (GCFEvent::HANDLED);
 			}
 			LOG_DEBUG_STR("nr Subbands:" << itsObs->beams[beamIdx].subbands.size());
-			LOG_DEBUG_STR("nr Beamlets:" << itsObs->beams[beamIdx].beamlets.size());
+			LOG_DEBUG_STR("nr Beamlets:" << beamBeamlets.size());
 
 			// construct subband to beamlet map
-			vector<int32>::iterator beamletIt = itsObs->beams[beamIdx].beamlets.begin();
+			vector<int32>::iterator beamletIt = beamBeamlets.begin();
 			vector<int32>::iterator subbandIt = itsObs->beams[beamIdx].subbands.begin();
-			while (beamletIt != itsObs->beams[beamIdx].beamlets.end() && subbandIt != itsObs->beams[beamIdx].subbands.end()) {
+			while (beamletIt != beamBeamlets.end() && subbandIt != itsObs->beams[beamIdx].subbands.end()) {
 				LOG_DEBUG_STR("alloc[" << *beamletIt << "]=" << *subbandIt);
 				beamAllocEvent.allocation()[*beamletIt++] = *subbandIt++;
 			}
@@ -817,7 +818,7 @@ void BeamControl::beamsToPVSS()
 		writeVector(os, itsObs->beams[i].subbands);
 		subbandArr.push_back   (new GCFPVString  (os.str()));
 		os.clear();
-		writeVector(os, itsObs->beams[i].beamlets);
+		writeVector(os, itsObs->getBeamlets(i));
 		beamletArr.push_back   (new GCFPVString  (os.str()));
 		angle1Arr.push_back	   (new GCFPVDouble  (itsObs->beams[i].pointings[0].angle1));
 		angle2Arr.push_back	   (new GCFPVDouble  (itsObs->beams[i].pointings[0].angle2));