diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index 872bb02a9dd73b7b6120e263f30d914998b582a2..575401fc2c2b1e1a8ce625ad9d8ecb7ce62f34ec 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -39,7 +39,7 @@ module OneM2M_Functions {
 			map(self:acPort, system:acPort);
 			
 			activate(a_default());
-			activate(a_cse_cf01());
+			vc_a_cse := activate(a_cse_cf01());
 				
 			// Initialize AE2
 			if(p_auxiliaryAe2Required) {
@@ -88,7 +88,7 @@ module OneM2M_Functions {
 				map(self:utPort, system:utPort);
 			}
 			activate(a_default());
-			activate(a_cse_cf02_ae1());
+			vc_a_cse := activate(a_cse_cf02_ae1());
 			vc_cse1.start(f_cf02UpCse1());
 			vc_cse1.done;
 				
@@ -140,7 +140,7 @@ module OneM2M_Functions {
 			map(self:mccPortIn, system:mccPortIn);
 			map(self:acPort, system:acPort);
 			activate(a_default());
-			activate(a_cse_cf02_cse1());
+			vc_a_cse := activate(a_cse_cf02_cse1());
 			vc_ae1.start(f_cf02UpAe1());
 			vc_ae1.done;
 				
@@ -189,7 +189,7 @@ module OneM2M_Functions {
 				map(self:utPort, system:utPort);
 			}
 			activate(a_default());
-			activate(a_ae_cf03());
+			vc_a_ae := activate(a_ae_cf03());
 		
 			// Connect
 					
@@ -216,7 +216,7 @@ module OneM2M_Functions {
 			map(self:mccPortIn, system:mccPortIn);
 			map(self:acPort, system:acPort);
 			activate(a_default());
-			activate(a_cse_cf04());
+			vc_a_cse := activate(a_cse_cf04());
 
 			// Connect
 			
@@ -3532,6 +3532,7 @@ module OneM2M_Functions {
 				p_utRequest.from_ := "UNINITIALIZED";
 				p_utRequest.requestIdentifier := "m_uttriggerPrimitive" & f_rnd(1, 1000000);
 
+				deactivate;
 				utPort.send(valueof(p_utRequest));
 
 				tc_wait.start;
@@ -3548,7 +3549,21 @@ module OneM2M_Functions {
 						setverdict(inconc, __SCOPE__, " : Timeout due to no response received from requested SUT!");
 					}
 				}
-			
+				
+				activate(a_default());
+				if(vc_config == e_cf01) {
+					vc_a_cse := activate(a_cse_cf01());
+				} else if ((vc_config == e_cf02) or (vc_config == e_cf02CseSimuMaster)) {
+					if(vc_testSystemRole == e_ae) {
+						vc_a_cse := activate(a_cse_cf02_ae1());
+					} else if (vc_testSystemRole == e_cse) {
+						vc_a_cse := activate(a_cse_cf02_cse1());
+					}
+				} else if (vc_config == e_cf03) {
+					vc_a_ae := activate(a_ae_cf03());
+				} else if (vc_config == e_cf04) {
+					vc_a_cse := activate(a_cse_cf04());
+				}
 			}else{
 				
 				action(p_action);
diff --git a/LibOneM2M/OneM2M_TestSystem.ttcn b/LibOneM2M/OneM2M_TestSystem.ttcn
index 223b9fdd45942755553b26b571304448b9b0d3de..b61834b4975acfcb77db684a93115474260adcbd 100644
--- a/LibOneM2M/OneM2M_TestSystem.ttcn
+++ b/LibOneM2M/OneM2M_TestSystem.ttcn
@@ -39,6 +39,8 @@ module OneM2M_TestSystem {
 		var AccessControlPolicy_optional vc_acpAux;
 		var MsgIn vc_request;
 		var MsgIn vc_response;
+		var default vc_a_ae := null;
+		var default vc_a_cse := null;
 	};
 	
 	type component AeSimu extends Tester {