diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index ad4b95c0c70019a7c656d9daeae61f2b6057734a..1ccad9db0cd4a48b996701d0fd59dcc42b71d3b9 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -2199,7 +2199,12 @@ module OneM2M_Functions {
 						v_response.from_ := PX_CSE1_ID;
 						v_response.to_ := v_request.primitive.requestPrimitive.from_;
 						v_response.primitiveContent := vc_localResourcesList[v_localResourceIndex].resource;
-						mccPortIn.send(m_response(v_response));
+						if(ischosen(vc_localResourcesList[v_localResourceIndex].resource.cSEBase)) {
+							mccPortIn.send(m_response(v_response, {{"parentID", omit}})); 
+						} else {
+							mccPortIn.send(m_response(v_response));
+						}
+						
 					}
 					tc_ac.start(10.0);
 					repeat;
diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn
index 657f524965939d59a1fd507ee1febe7a064306ce..8a2a1ae41f8741785b5956078666bbbe34d3405f 100644
--- a/LibOneM2M/OneM2M_Templates.ttcn
+++ b/LibOneM2M/OneM2M_Templates.ttcn
@@ -76,16 +76,18 @@ module OneM2M_Templates {
 			forcedFields := p_forcedFields
 		};
 		
-		template MsgIn mw_request(in template (present) RequestPrimitive p_requestPrimitive) := {
-			primitive := { requestPrimitive := p_requestPrimitive}
+		template MsgIn mw_request(in template (present) RequestPrimitive p_requestPrimitive, template AttributeList_1 p_nullFields := *) := {
+			primitive := { requestPrimitive := p_requestPrimitive}, 
+			nullFields := p_nullFields
 		};
     	
 		/** 
 		 * @desc Base template for response receiving operations
 		 * @param p_responsePrimitive
 		 */
-		template MsgIn mw_response(in template (present) ResponsePrimitive p_responsePrimitive := ?) := {
-			primitive := { responsePrimitive := p_responsePrimitive}
+		template MsgIn mw_response(in template (present) ResponsePrimitive p_responsePrimitive := ?, template AttributeList_1 p_nullFields := *) := {
+			primitive := { responsePrimitive := p_responsePrimitive}, 
+			nullFields := p_nullFields
 		};
     	
 	}//end of group primitives
@@ -3409,7 +3411,7 @@ module OneM2M_Templates {
 			resourceName := ?,//M
 			resourceType := ?,//M
 			resourceID := ?,//M
-			parentID := ?,//M
+			parentID := omit,//M
 			creationTime := ?,//M
 			lastModifiedTime := ?,//M
 			labels := *,//O
diff --git a/LibOneM2M/OneM2M_Types.ttcn b/LibOneM2M/OneM2M_Types.ttcn
index 2958e489c470d8bae50559f3b320ad28c77866a7..2390a06197487abe062f01ac773c71324c61dcb5 100644
--- a/LibOneM2M/OneM2M_Types.ttcn
+++ b/LibOneM2M/OneM2M_Types.ttcn
@@ -4109,7 +4109,8 @@ module OneM2M_Types {
 			union {
 				RequestPrimitive requestPrimitive,
 				ResponsePrimitive responsePrimitive
-			} primitive
+			} primitive, 
+			AttributeList_1 nullFields optional
 		}
 		with {
 			encode ""
diff --git a/OneM2M_Testcases_CSE_Release_1.ttcn b/OneM2M_Testcases_CSE_Release_1.ttcn
index fc1bff43ce58416ea9b0df22eb8b1de75aa628ec..8910dd66d2d99ea28ee02bad0b4bf59bdc369720 100644
--- a/OneM2M_Testcases_CSE_Release_1.ttcn
+++ b/OneM2M_Testcases_CSE_Release_1.ttcn
@@ -1811,7 +1811,7 @@ module OneM2M_Testcases_CSE_Release_1 {
 	
 					tc_ac.start;
 					alt {
-						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, v_contentResponse))) -> value v_response {
+						[] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, v_contentResponse), {"parentID"})) -> value v_response {
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__ & ": Response OK for retrieving");
 						}