diff --git a/OneM2M_Testcases.ttcn b/OneM2M_Testcases.ttcn
index 5e5551b24b24b26d9f8a46afd17a719dcc4b72f5..fc621fec50dc5289cdee5e8ecc19f88691cd5280 100644
--- a/OneM2M_Testcases.ttcn
+++ b/OneM2M_Testcases.ttcn
@@ -10318,12 +10318,9 @@ module OneM2M_Testcases {
         	group g_CSE_DIS_BV_001{
         		testcase TC_CSE_DIS_BV_001() runs on CseTester system CseSystem {
         			// Local variables
-					var MsgIn v_response;
 					var integer v_aeIndex := -1;
 					var integer v_resourceIndex := -1;
 					var RequestPrimitive v_request;
-					var CseTester v_notifyHandler;
-					var integer v_ae2Index := -1;
 					var integer v_childResourceIndex := -1;
 					const ResourceType c_containerResourceType := int3; 
 					
@@ -10348,6 +10345,10 @@ module OneM2M_Testcases {
 							tc_ac.stop;
 							setverdict(pass, testcasename() & ": URI List Representation available");
 						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { 
+							tc_ac.stop;
+							setverdict(fail, testcasename() & ": Wrong responseStatusCode while retrieving resource");
+						}
 						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { 
 							tc_ac.stop;
 							setverdict(fail, testcasename() & ": Error while retrieving resource");
@@ -10374,8 +10375,6 @@ module OneM2M_Testcases {
 					var integer v_aeIndex := -1;
 					var integer v_resourceIndex := -1;
 					var RequestPrimitive v_request;
-					var CseTester v_notifyHandler;
-					var integer v_ae2Index := -1;
 					var integer v_childResourceIndex := -1;
 					const ResourceType c_containerResourceType := int3; 
 				
@@ -10403,9 +10402,13 @@ module OneM2M_Testcases {
 							}
 							else
 							{
-							  setverdict(fail, testcasename() & ": Content available");
+							  setverdict(fail, testcasename() & ": Wrong content available in URIList element");
 							}
 						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { 
+							tc_ac.stop;
+							setverdict(fail, testcasename() & ": Wrong responseStatusCode while retrieving resource");
+						}
 						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { 
 							tc_ac.stop;
 							setverdict(fail, testcasename() & ": Error while retrieving resource");
@@ -10431,8 +10434,6 @@ module OneM2M_Testcases {
 					var integer v_aeIndex := -1;
 					var integer v_resourceIndex := -1;
 					var RequestPrimitive v_request;
-					var CseTester v_notifyHandler;
-					var integer v_ae2Index := -1;
 					var integer v_childResourceIndex := -1;
 					const ResourceType c_containerResourceType := int3; 
 					
@@ -10455,12 +10456,16 @@ module OneM2M_Testcases {
 						
 						[] mcaPort.receive(mw_response(mw_responseDiscovery)) -> value v_response {
 							tc_ac.stop;
-							if (f_isNonHierarchical(v_response.primitive.responsePrimitive.primitiveContent.uRIList[0])){
-							  setverdict(pass, testcasename() & ": Unstructured addresses present in URIList representation");
+							if (f_isNonHierarchical(v_response.primitive.responsePrimitive.primitiveContent.uRIList[0])) {
+							  setverdict(pass, testcasename() & ": Non-hierarchical address form present in URIList element");
 							} else {
-							  setverdict(fail, testcasename() & ": Unstructured addresses absent in URIList representation"); 
+							  setverdict(fail, testcasename() & ": Non-hierarchical address form absent in URIList representation"); 
 							}
 						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { 
+							tc_ac.stop;
+							setverdict(fail, testcasename() & ": Wrong responseStatusCode while retrieving resource");
+						}
 						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { 
 							tc_ac.stop;
 							setverdict(fail, testcasename() & ": Error while retrieving resource");
@@ -10479,6 +10484,64 @@ module OneM2M_Testcases {
 				
         	} //end group g_CSE_DIS_BV_004
         	
+			group g_CSE_DIS_BO_005{
+				testcase TC_CSE_DIS_BO_005() runs on CseTester system CseSystem {
+					// Local variables
+					var integer v_aeIndex := -1;
+					var integer v_resourceIndex := -1;
+					var RequestPrimitive v_request;
+					var integer v_childResourceIndex := -1;
+					var integer v_acpAuxIndex := -1;
+					const ResourceType c_containerResourceType := int3; 
+					
+					// Test control
+					if(not(PICS_ACP_SUPPORT)) {
+						log(testcasename() & ":AccessControlPolicy support is required for executing this test case");
+						stop;
+					}
+
+					// Test component configuration
+					f_cf01Up();
+
+					// Test adapter configuration
+
+					// Preamble
+					v_acpAuxIndex := f_cse_preamble_createAcpAux(-, int31);//c_CRUDN)
+					
+					v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)});//AE1 is registred;
+					
+					v_resourceIndex := f_cse_createResource(c_containerResourceType, m_createContainerBase, v_aeIndex);
+					v_childResourceIndex := f_cse_createResource(c_containerResourceType, m_createContainerBase, v_resourceIndex);
+					v_request := valueof(m_retrieveResourceFilterUsageOption(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex), int1));
+					mcaPort.send(m_request(v_request));
+					tc_ac.start;
+					alt {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int4103))) {
+							tc_ac.stop;
+							setverdict(pass, testcasename() & ": Access denied to discovery operation for resource " & f_getResourceAddress(v_resourceIndex));
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
+							tc_ac.stop;
+							setverdict(fail, testcasename() & ": Wrong response status code while discovering " & f_getResourceAddress(v_resourceIndex) & " without having privileges");
+						}
+						[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
+							tc_ac.stop;
+							setverdict(fail, testcasename() & ": Discovering " & f_getResourceAddress(v_resourceIndex) & " without having privileges");
+						}
+						[] tc_ac.timeout {
+							setverdict(fail, testcasename() & ": No answer while discovering resource");
+						}
+					 }	
+    								
+					// Postamble
+					f_cse_postamble_deleteResources();
+					
+					// Tear down
+					f_cf01Down();
+				} // end TC_CSE_DIS_BO_005
+        		
+			} //end group g_CSE_DIS_BO_005
+        	
 			group g_CSE_DIS_BO_006
 			{
 					testcase TC_CSE_DIS_BO_006() runs on CseTester system CseSystem {
@@ -10487,9 +10550,8 @@ module OneM2M_Testcases {
 						var integer v_aeIndex := -1;
 						var integer v_resourceIndex := -1;
 						var RequestPrimitive v_request;
-						var CseTester v_notifyHandler;
-						var integer v_ae2Index := -1;
 						const ResourceType c_containerResourceType := int3; 
+						var XSD.ID v_resourceId := "nonexisting";
 					
 						// Test control
 
@@ -10500,8 +10562,13 @@ module OneM2M_Testcases {
 
 						// Preamble
 						v_aeIndex := f_cse_preamble_registerAe();//AE1 is registred;
+						
+						if(PX_UNSTRUCTURED and (PX_ADDRESSING_FORMAT == e_cseRelative)) {
+							v_request := valueof(m_retrieveResourceFilterUsageOption(v_resourceId, f_getOriginator(v_aeIndex), int1));
+						} else {
+							v_request := valueof(m_retrieveResourceFilterUsageOption(f_getResourceAddress(v_aeIndex) & "/" & v_resourceId, f_getOriginator(v_resourceIndex), int1));
+						}
 					
-						v_request := valueof(m_retrieveResourceFilterUsageOption(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex), int1));
 						mcaPort.send(m_request(v_request));
 						tc_ac.start;
 						alt {
@@ -10512,7 +10579,11 @@ module OneM2M_Testcases {
 							}
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { 
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error while retrieving resource");
+								setverdict(fail, testcasename() & ": Wrong response status code while retrieving resource");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { 
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Wrong response while retrieving resource");
 							}
 							[] tc_ac.timeout {
 								setverdict(fail, testcasename() & ": No answer while retrieving resource");
@@ -10564,7 +10635,11 @@ module OneM2M_Testcases {
 							}
 							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { 
 								tc_ac.stop;
-								setverdict(fail, testcasename() & ": Error while retrieving resource");
+								setverdict(fail, testcasename() & ": Wrong response status code while retrieving resource");
+							}
+							[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { 
+								tc_ac.stop;
+								setverdict(fail, testcasename() & ": Wrong response while retrieving resource");
 							}
 							[] tc_ac.timeout {
 								setverdict(fail, testcasename() & ": No answer while retrieving resource");