diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn
index a9a4bc94f8760fe3199e9def85df514efd854aec..2a1974f2a63b9a4d9b0ddce0747b0a549a63dece 100644
--- a/LibOneM2M/OneM2M_Templates.ttcn
+++ b/LibOneM2M/OneM2M_Templates.ttcn
@@ -7,7 +7,7 @@
  *  
  *  @author     oneM2M
  *  @version    $URL: https://forge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Templates.ttcn $
- *              $Id: OneM2M_Templates.ttcn 249 2017-03-30 12:24:57Z reinaortega $
+ *              $Id: OneM2M_Templates.ttcn 251 2017-03-31 12:26:42Z reinaortega $
  *  @desc       Module containing templates for oneM2M
  *
  */
@@ -844,10 +844,10 @@ module OneM2M_Templates {
     	
     	group Delete {
     	
-        	template (value) RequestPrimitive m_deleteRequest(XSD.ID p_resourceAddress) := {
+        	template (value) RequestPrimitive m_deleteRequest(XSD.ID p_resourceAddress, in XSD.ID p_originator := PX_SUPER_USER) := {
         		operation := int4,
         		to_ := p_resourceAddress,
-        		from_ := PX_SUPER_USER,
+        		from_ := p_originator,
         		requestIdentifier := testcasename() & "-m_deleteResource" & f_rnd(1, 1000000),
         		resourceType := omit,
         		primitiveContent := omit, 
diff --git a/OneM2M_Testcases.ttcn b/OneM2M_Testcases.ttcn
index cd06590ec3478b9e44b53427219093e0793cb688..c57e0683f77a651d2e8cb69e1ce84ee1e5b37e3c 100644
--- a/OneM2M_Testcases.ttcn
+++ b/OneM2M_Testcases.ttcn
@@ -7,7 +7,7 @@
  *  
  *  @author     oneM2M
  *  @version    $URL: https://forge.etsi.org/svn/oneM2M/trunk/ttcn/OneM2M_Testcases.ttcn $
- *              $Id: OneM2M_Testcases.ttcn 249 2017-03-30 12:24:57Z reinaortega $
+ *              $Id: OneM2M_Testcases.ttcn 251 2017-03-31 12:26:42Z reinaortega $
  *  @desc       Module containing test cases for oneM2M
  *
  */
@@ -769,7 +769,7 @@ module OneM2M_Testcases {
     									
 					// Test Body
 					v_request := valueof(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
-					v_request.resultContent := int1;//Attributes
+					v_request.resultContent := int4;//Attributes and child resources
 					mcaPort.send(m_request(v_request));
 					tc_ac.start;
 					alt {
@@ -879,7 +879,7 @@ module OneM2M_Testcases {
     									
 					// Test Body
 					v_request := valueof(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
-					v_request.resultContent := int1;//Attributes
+					v_request.resultContent := int5;//attributes and child resource references
 					mcaPort.send(m_request(v_request));
 					tc_ac.start;
 					alt {
@@ -989,7 +989,7 @@ module OneM2M_Testcases {
     									
 					// Test Body
 					v_request := valueof(m_retrieveResource(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
-					v_request.resultContent := int1;//Attributes
+					v_request.resultContent := int6;//Child resource references
 					mcaPort.send(m_request(v_request));
 					tc_ac.start;
 					alt {
@@ -1854,6 +1854,10 @@ module OneM2M_Testcases {
 								tc_ac.stop;
 								setverdict(pass, testcasename() & ": Maximun number of instances exceeded");
 							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Bad responseStatusCode in response");
+							}
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
 								setverdict(fail, testcasename() & ": Accepted creation of contentInstance exceding maximum number of instances");
@@ -1907,6 +1911,11 @@ module OneM2M_Testcases {
 								tc_ac.stop;
 								setverdict(pass, testcasename() & ": Maximun byte size exceeded");
 							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Bad responseStatusCode in response");
+							}
+							
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
 								setverdict(fail, testcasename() & ": Accepted creation of contentInstance exceding maximum byte size");
@@ -1965,7 +1974,7 @@ module OneM2M_Testcases {
                         		if(v_response.primitive.responsePrimitive.primitiveContent.any_1[0].Container_optional.stateTag == vc_resourcesList[v_containerIndex].resource.any_1[0].Container_optional.stateTag + 1) {
 									setverdict(pass, testcasename() & ": stateTag attribute increased after creation of contentInstance resource");
                         		} else {
-									setverdict(fail, testcasename() & ": stateTag attribute not increased after creation of contentInstance resource");
+									setverdict(fail, testcasename() & ": stateTag attribute not incremented correctly after creation of contentInstance resource");
                         		}
                         	}
                         	[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
@@ -6333,7 +6342,7 @@ module OneM2M_Testcases {
                 		
                 		//Adjustments for ACP resource type
                 		if(p_resourceType == int1) {
-							p_createRequestPrimitive.primitiveContent.any_1[0].AccessControlPolicy_optional.selfPrivileges.accessControlRule_list := {v_accessControlRule_1,v_accessControlRule_2};
+							p_createRequestPrimitive.primitiveContent.any_1[0].AccessControlPolicy_optional.selfPrivileges.accessControlRule_list := {v_accessControlRule_2};//{v_accessControlRule_1,v_accessControlRule_2};
                 		} else {
 							f_setAcpId(p_createRequestPrimitive, {f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)});
 							v_setOfArcs.accessControlRule_list := {v_accessControlRule_1, v_accessControlRule_2};
@@ -6520,24 +6529,24 @@ module OneM2M_Testcases {
                 			}
                 		}
                 		
-                		mcaPort.send(m_request(m_retrieveResource(f_getResourceAddress(v_childResourceIndex), f_getOriginator(v_childResourceIndex))));
+                		mcaPort.send(m_request(m_deleteRequest(f_getResourceAddress(v_childResourceIndex), f_getOriginator(v_childResourceIndex))));
                 
                 		tc_ac.start;
                 		alt {
                 			[] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response {
                 				tc_ac.stop;
-                				setverdict(pass, testcasename() & ": Error while retrieving non existing resource");
+                				setverdict(pass, testcasename() & ": Error while deleting non existing resource");
                 			}
                 			[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
                 				tc_ac.stop;
-                				setverdict(fail, testcasename() & ": Error while retrieving non existing resource");
+                				setverdict(fail, testcasename() & ": Error while deleting non existing resource");
                 			}
                 			[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
                 				tc_ac.stop;
-                				setverdict(fail, testcasename() & ": Error while retrieving non existing resource");
+                				setverdict(fail, testcasename() & ": Error while deleting non existing resource");
                 			}
                 			[] tc_ac.timeout {
-                				setverdict(inconc, testcasename() & ": No answer while retrieving resource");
+                				setverdict(inconc, testcasename() & ": No answer while deleting resource");
                 			}
                 		}