diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn
index 9a56a8f730d1bea3cfd8ca39f8e9555f8e43ec6f..32abbc2b9ae06299bc21d58ac6e465c61532ec63 100644
--- a/OneM2M_PermutationFunctions.ttcn
+++ b/OneM2M_PermutationFunctions.ttcn
@@ -8648,7 +8648,7 @@ module OneM2M_PermutationFunctions {
 			
 			group Basic {
 		
-				function f_CSE_ANNC_001(ResourceType p_resourceType, template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestCreatePrimitive := omit, in template RequestPrimitive p_requestUpdatePrimitive := omit) runs on AeSimu system CseSystem {
+				function f_CSE_ANNC_001(ResourceType p_resourceType, template RequestPrimitive p_createRequestAnnc, in template RequestPrimitive p_requestCreatePrimitive, in template RequestPrimitive p_requestUpdatePrimitive := omit) runs on AeSimu system CseSystem {
 
 					// Local variables
 					var MsgIn v_response;
@@ -8670,24 +8670,31 @@ module OneM2M_PermutationFunctions {
 			
 					//Register the CSE
 					vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()})));
-					vc_cse1.done;
 					
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 					
 					//Preamble
 					vc_cse1.start(f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -)));
 					v_aeIndex := f_cse_createResource(int2,v_create);
-					vc_cse1.done;
 					
 					f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 					
 					// Test Body
 					if (ispresent (p_requestUpdatePrimitive)) {
-						v_resourceIndex := f_cse_createResource(p_resourceType,p_requestCreatePrimitive);
+						v_resourceIndex := f_cse_createResource(p_resourceType, p_requestCreatePrimitive, v_aeIndex);
  				      	v_request := f_getUpdateRequestPrimitive(p_resourceType, v_resourceIndex, p_requestUpdatePrimitive);
 					  	v_responsePrimitive.responseStatusCode := int2004;
 					} else {
-					  	v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestCreatePrimitive, v_aeIndex);
+						if (p_resourceType == int4) {
+							v_create := m_createContainerBase;
+							v_create.primitiveContent.container.announceTo := {PX_TS_CSE1.cseId};
+							vc_cse1.start(f_cse_announcementProcedure_createHandler(mw_createContainerAnnc()));
+							v_resourceIndex := f_cse_createResource(int3, v_create, v_aeIndex);
+							f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
+							v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestCreatePrimitive, v_resourceIndex);
+					  	} else {
+					  		v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestCreatePrimitive, v_aeIndex);
+						}
 					  	v_responsePrimitive.responseStatusCode := int2001;
 					}
 					
diff --git a/OneM2M_Testcases_CSE_Release_3.ttcn b/OneM2M_Testcases_CSE_Release_3.ttcn
index b18bef276376f686adf7bd56421cee9f246928ea..321d49f43350e3022d6ac2185708eaacc2c7b205 100644
--- a/OneM2M_Testcases_CSE_Release_3.ttcn
+++ b/OneM2M_Testcases_CSE_Release_3.ttcn
@@ -9288,12 +9288,13 @@ module OneM2M_Testcases_CSE_Release_3 {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
+						var template RequestPrimitive v_createRequest := m_createAcpBase;
 						var template RequestPrimitive v_updateRequest := m_updateAcpBase;
 						var template RequestPrimitive v_createRequestAnnc := mw_createAccessControlPolicyAnnc;
 						
 						v_updateRequest.primitiveContent.accessControlPolicy.announceTo := {PX_TS_CSE1.cseId};
                   
-						v_ae1.start(f_CSE_ANNC_001(int1, v_createRequestAnnc, omit, v_updateRequest));//AccessControlPolicy
+						v_ae1.start(f_CSE_ANNC_001(int1, v_createRequestAnnc, v_createRequest, v_updateRequest));//AccessControlPolicy
 						v_ae1.done;
 					}
 					
@@ -9314,12 +9315,13 @@ module OneM2M_Testcases_CSE_Release_3 {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
+						var template RequestPrimitive v_createRequest := m_createContainerBase;
 						var template RequestPrimitive v_updateRequest := m_updateContainerBase;
 						var template RequestPrimitive v_createRequestAnnc := mw_createContainerAnnc;
 						
 						v_updateRequest.primitiveContent.container.announceTo := {PX_TS_CSE1.cseId};
   
-						v_ae1.start(f_CSE_ANNC_001(int3, v_createRequestAnnc, omit, v_updateRequest));//Container
+						v_ae1.start(f_CSE_ANNC_001(int3, v_createRequestAnnc, v_createRequest, v_updateRequest));//Container
 						v_ae1.done;
 					}
 					
@@ -9340,12 +9342,13 @@ module OneM2M_Testcases_CSE_Release_3 {
 						// Local variables
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
+						var template RequestPrimitive v_createRequest := m_createGroupBase;
 						var template RequestPrimitive v_updateRequest := m_updateGroupBase;
 						var template RequestPrimitive v_createRequestAnnc := mw_createGroupAnnc;
 						
 						v_updateRequest.primitiveContent.group_.announceTo := {PX_TS_CSE1.cseId};
   
-						v_ae1.start(f_CSE_ANNC_001(int9, v_createRequestAnnc, omit, v_updateRequest));//Group
+						v_ae1.start(f_CSE_ANNC_001(int9, v_createRequestAnnc, v_createRequest, v_updateRequest));//Group
 						v_ae1.done;
 					}