diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index 103099ae93fc432e6ec9edf261af33473f1a8dbf..fa28d6da4aa26fd47059099c691201b034e83943 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -7,7 +7,7 @@
  *  
  *  @author     oneM2M
  *  @version    $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Functions.ttcn $
- *              $Id: OneM2M_Functions.ttcn 345 2017-08-07 14:45:26Z reinaortega $
+ *              $Id: OneM2M_Functions.ttcn 346 2017-08-08 12:49:09Z reinaortega $
  *  @desc       Module containing functions for oneM2M
  *
  */
@@ -598,10 +598,10 @@ module OneM2M_Functions {
 			function f_cse_deleteResource(in integer p_index, in template (omit) RequestPrimitive p_requestPrimitive := omit) runs on CseTester {
 				var RequestPrimitive v_request;
 				
-				if(not isbound(p_requestPrimitive)) {
+				if(not isvalue(p_requestPrimitive)) {
 					v_request := valueof(m_deleteRequest(f_getResourceAddress(p_index)));
 				} else {
-					v_request := p_requestPrimitive;
+					v_request := valueof(p_requestPrimitive);
 				}
 				
 				mcaPort.send(m_request(v_request));
@@ -610,16 +610,16 @@ module OneM2M_Functions {
 				alt {
 					[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
 						tc_ac.stop;
-						setverdict(pass, __SCOPE__&"INFO: Resource " & p_requestPrimitive.to_ & " deleted");
+						setverdict(pass, __SCOPE__&"INFO: Resource " & v_request.to_ & " deleted");
 						
 						f_removeElementFromList(vc_resourcesIndexToBeDeleted, p_index);
 					}
 					[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
 						tc_ac.stop;
-						setverdict(inconc, __SCOPE__&"INFO: Error while deleting resource " & p_requestPrimitive.to_);
+						setverdict(inconc, __SCOPE__&"INFO: Error while deleting resource " & v_request.to_);
 					}
 					[] tc_ac.timeout {
-						setverdict(inconc, __SCOPE__&"INFO: No answer while deleting resource " & p_requestPrimitive.to_);
+						setverdict(inconc, __SCOPE__&"INFO: No answer while deleting resource " & v_request.to_);
 					}	
 				}	
 				
diff --git a/OneM2M_Testcases.ttcn b/OneM2M_Testcases.ttcn
index 4d478ad335699429d9061242e31121e6b66ca50f..f3f1cb7070c3d2e289d5736d639681023de3cc9b 100644
--- a/OneM2M_Testcases.ttcn
+++ b/OneM2M_Testcases.ttcn
@@ -7,7 +7,7 @@
  *  
  *  @author     oneM2M
  *  @version    $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/OneM2M_Testcases.ttcn $
- *              $Id: OneM2M_Testcases.ttcn 345 2017-08-07 14:45:26Z reinaortega $
+ *              $Id: OneM2M_Testcases.ttcn 346 2017-08-08 12:49:09Z reinaortega $
  *  @desc       Module containing test cases for oneM2M
  *
  */
@@ -3400,6 +3400,8 @@ module OneM2M_Testcases {
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
 						var integer v_aeIndex := -1;
+						var integer v_ae2Index := -1;
+						var CseTester v_notifyHandler; 
 											   
 						// Test control
     				
@@ -3410,6 +3412,8 @@ module OneM2M_Testcases {
     				
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+						
+						f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
 					
 						// Test Body
 						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
@@ -3420,7 +3424,11 @@ module OneM2M_Testcases {
 						alt {
 							[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001, p_contentResponse))) -> value v_response {
 								tc_ac.stop;
-								setverdict(pass, __SCOPE__ & ": No content provided with RC set to 0");
+								if(f_isHierarchical(v_response.primitive.responsePrimitive.primitiveContent.uRI)) {
+									setverdict(pass, __SCOPE__ & ": Response returning correctly only the hierarchical address of the created resource");
+								} else {
+									setverdict(fail, __SCOPE__ & ": Response returning the address of the created resource with wrong format");							
+								}
 							}
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
 								tc_ac.stop;
@@ -3428,7 +3436,7 @@ module OneM2M_Testcases {
 							}
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, __SCOPE__ & ": Content provided with RC set to 0");
+								setverdict(fail, __SCOPE__ & ": Wrong content provided with RC set to 2");
 							}
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
 								tc_ac.stop;
@@ -3515,6 +3523,8 @@ module OneM2M_Testcases {
 						var MsgIn v_response;
 						var RequestPrimitive v_request;
 						var integer v_aeIndex := -1;
+						var integer v_ae2Index := -1;
+						var CseTester v_notifyHandler;
 											   
 						// Test control
     				
@@ -3525,7 +3535,9 @@ module OneM2M_Testcases {
     				
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
-					
+						
+						f_cse_preamble_subscriptionVerification(v_notifyHandler, v_aeIndex, v_ae2Index, p_requestPrimitive, p_resourceType);
+						
 						// Test Body
 						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_aeIndex);
 						v_request.resultContent := int3;//Attributes + Hierarchichal Address
@@ -3535,7 +3547,11 @@ module OneM2M_Testcases {
 						alt {
 							[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001, p_contentResponse))) -> value v_response {
 								tc_ac.stop;
-								setverdict(pass, __SCOPE__ & ": No content provided with RC set to 0");
+								if(f_isHierarchical(v_response.primitive.responsePrimitive.primitiveContent.resource.uRI)) {
+									setverdict(pass, __SCOPE__ & ": Response returning correctly the hierarchical address of the created resource and resource representation");
+								} else {
+									setverdict(fail, __SCOPE__ & ": Response returning the address of the created resource with wrong format");							
+								}
 							}
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK(p_contentResponse))) -> value v_response {
 								tc_ac.stop;
@@ -3543,7 +3559,7 @@ module OneM2M_Testcases {
 							}
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 								tc_ac.stop;
-								setverdict(fail, __SCOPE__ & ": Content provided with RC set to 0");
+								setverdict(fail, __SCOPE__ & ": Wrong content provided with RC set to 3");
 							}
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
 								tc_ac.stop;
@@ -3965,11 +3981,11 @@ module OneM2M_Testcases {
 								}
 								[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
 									tc_ac.stop;
-									setverdict(fail, __SCOPE__ & ": Accepted creation for resource type " & int2str(enum2int(p_resourceType)) & " without containing attribute " & p_optionalAttribute.name);
+									setverdict(fail, __SCOPE__ & ": Accepted creation for resource type " & int2str(enum2int(p_resourceType)) & " with incorrect attributes");
 								}
 								[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response {
 									tc_ac.stop;
-									setverdict(fail, __SCOPE__ & ": Rejected creation of resource type " & int2str(enum2int(p_resourceType)) & " containing attribute" & p_optionalAttribute.name);
+									setverdict(fail, __SCOPE__ & ": Rejected creation of resource type " & int2str(enum2int(p_resourceType)));
 								}
 								[] tc_ac.timeout {
 									setverdict(fail, __SCOPE__ & ": No answer while creating resource type " & int2str(enum2int(p_resourceType)));
@@ -5646,7 +5662,7 @@ module OneM2M_Testcases {
 							}
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)){
 								tc_ac.stop;
-								setverdict(fail, __SCOPE__ & ": Error, resourceName attribute of <latest> resource value not expected");
+								setverdict(fail, __SCOPE__ & ": Error, retrieved contentInstance with incorrect attributes");
 							}
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)){
 								tc_ac.stop;
@@ -12076,10 +12092,6 @@ module OneM2M_Testcases {
 							p_createRequestPrimitive.primitiveContent.accessControlPolicy.selfPrivileges.accessControlRule_list := {v_accessControlRule_2};//{v_accessControlRule_1,v_accessControlRule_2};
                 		} else {
 							p_createRequestPrimitive := f_setAcpId(p_createRequestPrimitive, {f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)});
-							v_setOfArcs.accessControlRule_list := {v_accessControlRule_1, v_accessControlRule_2};
-							v_updateRequest := valueof(m_updateAcpPrivileges(v_setOfArcs, -));
-							v_updateRequest := f_getUpdateRequestPrimitive(int1, vc_acpAuxIndex, v_updateRequest);
-							f_cse_updateResource(v_updateRequest);
                 		}
                 		
                 		//Creation of resource
@@ -12121,8 +12133,7 @@ module OneM2M_Testcases {
                 		// Postamble
 						// We are forced to delete the Ae because the delete request in the postamble_deleteResources is sent by Ae itself, witch doesn't have privileges
 						f_cse_deleteResource(v_aeIndex);
-						//Update vc_resourcesIndexToBeDeleted 
-						f_removeElementFromList (vc_resourcesIndexToBeDeleted, v_aeIndex);
+						
 						f_cse_postamble_deleteResources();
                 		
                 		// Tear down