diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index 077e07d672fa5f1987c94ce3b090151e5e65dbdb..ac7471ef2770cf99e183efe47fc8d041f71ea1d0 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -750,6 +750,18 @@ module OneM2M_Functions {
 				p_ae.done;
 			}
 			
+			/**
+			 * @desc Calls to postamble for AeSimu component (i.e. AE1) on CseSimu 
+			 * @verdict 
+			 */
+			function f_cse_postamble_ae1() runs on CseSimu {
+				if(vc_ae1.running) {
+					vc_ae1.stop;
+				}
+				vc_ae1.start(f_cse_postamble_deleteResources());
+				vc_ae1.done;
+			}
+			
 			/**
 			 * @desc Deletion of all resources created during the test case execution. IUT gets clean and ready for next execution
 			 * @verdict 
@@ -760,10 +772,14 @@ module OneM2M_Functions {
 				var RequestPrimitive v_request;
 	
 				if (PX_RUN_POSTAMBLE) {
+					
+					if(vc_config == e_cf02CseSimuMaster) {
+						f_cse_postamble_ae1();
+					};
 		
 					for(i := lengthof(vc_resourcesIndexToBeDeleted) -1; i >=0; i := i - 1) {
 			
-						v_resourceAddress := f_getResourceAddress(vc_resourcesIndexToBeDeleted[i]); 
+						v_resourceAddress := f_getResourceAddress(vc_resourcesIndexToBeDeleted[i], e_nonHierarchical); 
 			
 						v_request := valueof(m_delete(v_resourceAddress, f_getOriginator(vc_resourcesIndexToBeDeleted[i],false)));
 			
@@ -1003,6 +1019,11 @@ module OneM2M_Functions {
 						setverdict(pass, testcasename() & ": Resource present: " & f_getResourceAddress(p_resourceIndex));
 						return true;
 					}
+					[] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) {
+						tc_ac.stop;
+						setverdict(pass, testcasename() & ": Resource: " & f_getResourceAddress(p_resourceIndex) & " not found");
+						return false;
+					}
 					[] mcaPort.receive(mw_response(mw_responsePrimitive(?, -))) {
 						tc_ac.stop;
 						setverdict(inconc, testcasename() & ": Wrong response status code in the response");
@@ -1624,6 +1645,11 @@ module OneM2M_Functions {
 						setverdict(pass, testcasename() & ": Resource present: " & f_getResourceAddress(p_resourceIndex));
 						return true;
 					}
+					[] mccPort.receive(mw_response(mw_responsePrimitive(int4004))) {
+						tc_ac.stop;
+						setverdict(pass, testcasename() & ": Resource: " & f_getResourceAddress(p_resourceIndex) & " not found");
+						return false;
+					}
 					[] mccPort.receive(mw_response(mw_responsePrimitive(?, -))) {
 						tc_ac.stop;
 						setverdict(inconc, testcasename() & ": Wrong response status code in the response");
@@ -1636,6 +1662,38 @@ module OneM2M_Functions {
 				}	
 				return false;
 			}	
+			
+			/**
+			 * @desc Check that a resource is not present in the IUT (resourceId is NOT known)
+			 * @param p_parentIndex Index of the parent resource of the resource to be checked
+			 * @param p_resourceName Resource name (Hierarchical method is used) of the resource to be checked
+			 * @return boolean
+			 */
+			function f_cse_isResourceNotPresent (integer p_parentIndex, XSD.String p_resourceName) runs on CseSimu return boolean {
+			
+				log(testcasename() & ":INFO: Hierarchical addressing method is required to check the non presence of the resource");
+				
+				//Check to see if the resource has NOT been created
+				mccPort.send(m_request(m_retrieve(f_getResourceAddress(p_parentIndex, e_hierarchical) & "/" & p_resourceName, f_getOriginator(p_parentIndex))));
+				tc_ac.start;
+				alt {
+					[] mccPort.receive(mw_response(mw_responsePrimitive(int4004))) {
+						tc_ac.stop;
+						setverdict(pass, testcasename() & ": Resource not present");
+						return true;
+					}
+					[] mccPort.receive(mw_response(mw_responsePrimitive(?))) {
+						tc_ac.stop;
+						setverdict(inconc, testcasename() & ": Wrong response status code in the response");
+						return false;
+					}
+					[] tc_ac.timeout {
+						setverdict(inconc, testcasename() & ": No answer while retrieving resource");
+						return false;
+					}
+				}	
+				return false;
+			}			
 	    		
 			/**
 			 * @desc Registration of Test System (simulating a CSE) to the CSE IUT (creation of remoteCSE)
@@ -1712,7 +1770,7 @@ module OneM2M_Functions {
 						v_response.primitiveContent.remoteCSE := vc_localResourcesList[vc_localRemoteCseIndex].resource.remoteCSE;
 						mccPortIn.send(m_response(v_response));
 						
-						v_resourceIndex := f_setResource(v_request.primitive.requestPrimitive.primitiveContent, int16, -1);
+						v_resourceIndex := f_setResource(m_primitiveContentRemoteCSE(m_contentMyRemoteCSEResource), int16, -1);
 					}
 					[] mccPortIn.receive {
 						tc_ac.stop;
@@ -2953,10 +3011,13 @@ module OneM2M_Functions {
 				if(vc_config == e_cf03) {
 				  f_cf03Down();
 				  stop;
-			   } else if (vc_config ==e_cf04) {
+			   	} else if (vc_config ==e_cf04) {
 				  f_cf04Down();
 				  stop;
-			   }
+				} else if (vc_config == e_cf02CseSimuMaster) {
+					f_cf02DownCseSimuMaster();
+					stop;
+				}
 			}
 		}
 		
diff --git a/LibOneM2M/OneM2M_Pixits.ttcn b/LibOneM2M/OneM2M_Pixits.ttcn
index bbba6c7186f86cdd323020c5546065e1d1946419..903e3a5ef21961f1c149750cd0b812be0d04328f 100644
--- a/LibOneM2M/OneM2M_Pixits.ttcn
+++ b/LibOneM2M/OneM2M_Pixits.ttcn
@@ -87,7 +87,7 @@ module OneM2M_Pixits {
 	
 			modulepar charstring PX_AE2_ADDRESS				:= "127.0.0.1:3142";
 	
-			modulepar charstring PX_CSE1_ADDRESS			:= "127.0.0.1:3141";
+			modulepar charstring PX_CSE1_ADDRESS			:= "127.0.0.1:4141";
 	
 
 			/**
diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn
index 016b5c93909a424c023bc5420807e58c68148b0f..148ef2e9f38676f0e2cfe999bcc504f3a0f68f68 100644
--- a/LibOneM2M/OneM2M_Templates.ttcn
+++ b/LibOneM2M/OneM2M_Templates.ttcn
@@ -2867,6 +2867,15 @@ module OneM2M_Templates {
 			choice := omit//O
 		};
 		
+		template RemoteCSE_optional m_contentMyRemoteCSEResource modifies m_contentRemoteCSE_allOmit := {
+			resourceName := PX_CSE1_NAME,//M
+			resourceType := int16,//M
+			pointOfAccess := {PX_CSE1_ADDRESS},//O
+			cSEBase := PX_CSE1_NAME,//M
+			cSE_ID := PX_CSE1_ID,//M
+			requestReachability := true//M
+		};
+		
 		template RemoteCSE_optional mw_contentRemoteCSEBase := {
 			resourceName := ?,//M
 			resourceType := ?,//M
diff --git a/OneM2M_Testcases_CSE_Release_1.ttcn b/OneM2M_Testcases_CSE_Release_1.ttcn
index 4a6b38585f2c77eb1a03d55544082b4aa1b0678c..d3c1af82f2ce6644a739502fe1fb2938f8504c23 100644
--- a/OneM2M_Testcases_CSE_Release_1.ttcn
+++ b/OneM2M_Testcases_CSE_Release_1.ttcn
@@ -566,15 +566,11 @@ module OneM2M_Testcases_CSE_Release_1 {
 					f_cf02UpCseSimuMaster();
 		  	  	
 					//Preambule
-					//v_cseBaseIndex := f_cse_preamble_createServiceSubscribedAppRule({"S"});//c_CRUDNDi);
 					vc_remoteCseIndex := f_cse_registrationRemoteCse(mw_createRemoteCSE);
 		
 					//Test Body
-					vc_ae1.start(f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, omit)));				
+					vc_ae1.start(f_cse_createResource(int2, m_createAe(PX_APP_ID, -, "S", omit)));				
 	    									
-					//v_request := f_getCreateRequestPrimitive(v_resourceType, v_request, v_cseBaseIndex);
-		  	  		
-					//mcaPort.send(m_request(v_request));
 					tc_ac.start;
 					alt{
 						[]mccPortIn.receive(mw_request(mw_createAEAnnc(f_getResourceAddress(-1,e_hierarchical, e_spRelative) & "/S", "CSE_ID", -))){