diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index a09f204007ccd2ec0f24d5fbfce5c3fe1b1ffce3..1ad0f10b48a92edc4f7897809dcedcdf3493f012 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -1927,7 +1927,7 @@ module OneM2M_Functions {
 
 				tc_ac.start;
 				alt {
-					[] mccPortIn.receive(mw_request(p_requestPrimitive)) -> value v_request {
+					[not v_remoteCSERegistered] mccPortIn.receive(mw_request(p_requestPrimitive)) -> value v_request {
 						tc_ac.stop;
 						setverdict(pass, __SCOPE__&":INFO: Resource type remoteCSE created successfuly");
 						v_remoteCSEResource := f_generateLocalResource(v_request.primitive.requestPrimitive.primitiveContent, vc_cSEBaseIndex, int16);//TODO Get index from v_request.primitive.requestPrimitive.to_
@@ -1942,7 +1942,7 @@ module OneM2M_Functions {
 						vc_remoteCseIndex := f_setResource(valueof(m_primitiveContentRemoteCSE(m_contentMyRemoteCSEResource)), int16, -1);
 						v_resourceIndex := vc_remoteCseIndex;
 						v_remoteCSERegistered:=true;
-						tc_ac.start;
+						tc_ac.start(10.0);
 						repeat;
 					}
 					[] tc_ac.timeout {
diff --git a/OneM2M_Testcases_CSE_Release_1.ttcn b/OneM2M_Testcases_CSE_Release_1.ttcn
index 753628fb1e63288c445143f50e9e123e3c7ede32..d2d064ff38e003d552107be2956a24c435234fe9 100644
--- a/OneM2M_Testcases_CSE_Release_1.ttcn
+++ b/OneM2M_Testcases_CSE_Release_1.ttcn
@@ -1813,6 +1813,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 				function f_CSE_REG_CRE_024() runs on CseSimu {
   
 					// Local variables
+					var MsgIn v_request;
 					var ResponsePrimitive v_responsePrimitive;
 					var template UtTriggerPrimitive v_utRequest := m_utCreateRemoteCSE;
 					var universal charstring v_action :=  __SCOPE__ & ": Please, send a CSE registration request with attributes multiplicity equals to 1";
@@ -1835,12 +1836,12 @@ module OneM2M_Testcases_CSE_Release_1 {
 					// Test Body
 					tc_ac.start;
 					alt {
-						[] mccPortIn.receive(mw_request(mw_createRemoteCSEBase)) {
+						[] mccPortIn.receive(mw_request(mw_createRemoteCSEBase)) -> value v_request {
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__&":INFO: Resource type remoteCSE created successfuly");
 							
 							//set responseStatusCode back to SUT
-							v_responsePrimitive := valueof(m_responsePrimitive(int2001, "To_be_defined", omit));
+							v_responsePrimitive := valueof(m_responsePrimitive(int2001, v_request.primitive.requestPrimitive.requestIdentifier, omit));
 
 							//send back responsePrimitive
 							mccPortIn.send(f_getMsgOutPrimitive(m_response(v_responsePrimitive)));
@@ -2735,8 +2736,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 				function f_CSE_REG_RET_009() runs on CseSimu {
 					//Local variables
 					 //Local variables
-					 var MsgIn v_response;
-					 var RequestPrimitive v_request;
+					 var MsgIn v_request;
 					 var ResourceType v_resourceType := int16;	//remoteCSE
 					 var template PrimitiveContent v_contentResponse;
 					 var template UtTriggerPrimitive v_utRequest;
@@ -2762,9 +2762,13 @@ module OneM2M_Testcases_CSE_Release_1 {
 					 
 					 tc_ac.start;
 					 alt {
- 						[] mccPortIn.receive(mw_request(mw_retrieve(f_getResourceAddress()))) -> value v_response {
+ 						[] mccPortIn.receive(mw_request(mw_retrieve(?))) -> value v_request {
 							tc_ac.stop;
-							setverdict(pass, __SCOPE__ & ": Retrieve Request received successfully");
+ 							if (f_getResourceIndex(valueof(v_request.primitive.requestPrimitive.to_)) != -1) {
+								setverdict(pass, __SCOPE__ & ": Retrieve Request received successfully");
+ 							} else {
+								setverdict(fail, __SCOPE__ & ": Retrieve Request target address not found");
+ 							}
 						}
 						[] mccPortIn.receive {
 							tc_ac.stop;
@@ -3276,7 +3280,8 @@ module OneM2M_Testcases_CSE_Release_1 {
 				}
 							
 				function f_CSE_REG_DEL_004() runs on CseSimu {
-					//Local variables	
+					//Local variables
+					var MsgIn v_request;
 					var template UtTriggerPrimitive v_utRequest := m_utDelete;
 					var UtTriggerAckPrimitive v_trigger_response;
 					var integer v_auxInteger;
@@ -3297,16 +3302,19 @@ module OneM2M_Testcases_CSE_Release_1 {
 					vc_remoteCseIndex := f_cse_registrationRemoteCse(mw_createRemoteCSE);
 					
 					//Send Trigger Message
-					v_auxInteger := f_setResource(valueof(m_primitiveContentRemoteCSE(m_contentCreateRemoteCSE(omit,omit,-,-))), int16);
-					v_utRequest.requestPrimitive.to_ := f_getResourceAddress(v_auxInteger);
+					v_utRequest.requestPrimitive.to_ := f_getLocalResourceAddress(vc_remoteCseIndex);
 					f_sendUtPrimitive(v_utRequest, v_action);	
 
 					// Test Body
 					tc_ac.start;
 					alt {
-						[] mccPortIn.receive(mw_request(mw_delete( f_getResourceAddress(vc_remoteCseIndex), PX_CSE_ID))) {
+						[] mccPortIn.receive(mw_request(mw_delete(?, PX_CSE_ID))) -> value v_request {
 							tc_ac.stop;
-							setverdict(pass, __SCOPE__ & ": <remoteCSE> delete request has been received");
+ 							if (f_getResourceIndex(valueof(v_request.primitive.requestPrimitive.to_)) != -1) {
+								setverdict(pass, __SCOPE__ & ": <remoteCSE> delete request has been received");
+ 							} else {
+								setverdict(fail, __SCOPE__ & ": <remoteCSE> delete request target address not found");
+ 							}
 						}
 						[] mccPortIn.receive {
 							tc_ac.stop;