diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index d5d527eadb7dd930ee6214d154355843b43ac2c9..ff05c9147deb281a47c6ea15b2b4f4e0985cb787 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -2203,9 +2203,9 @@ module OneM2M_Functions {
 			} else if (p_primitiveScope == e_spRelative) {
 				if(p_addressingMethod == e_nonHierarchical) {
 					if(p_targetResourceIndex == -1) {
-						return PX_CSE_ID;
+						return PX_CSE_ID & "/" & PX_CSE_RESOURCE_ID;
 					} else {
-						v_resourceAddress := f_getResourceAddress(-, p_addressingMethod, p_primitiveScope) & "/" & f_getResourceId(vc_resourcesList[p_targetResourceIndex].resource);
+						v_resourceAddress := PX_CSE_ID & "/" & f_getResourceId(vc_resourcesList[p_targetResourceIndex].resource);
 						return v_resourceAddress;
 					}
 				} else {
@@ -2758,7 +2758,7 @@ module OneM2M_Functions {
 				}
 			}
 			
-			else if(ischosen(p_primitiveContent.subscription)){ // Schedule
+			else if(ischosen(p_primitiveContent.subscription)){ // Subscription
 				v_primitiveContent := {subscription := mw_contentSubscriptionBase};
 
 				if(ispresent(p_primitiveContent.subscription.labels)){
@@ -2810,6 +2810,45 @@ module OneM2M_Functions {
 					v_primitiveContent.subscription.subscriberURI := ?;
 				}
 			}
+			else if(ischosen(p_primitiveContent.remoteCSE)){ //remoteCSE
+				v_primitiveContent := {remoteCSE := mw_contentRemoteCSEBase};
+				  
+				if(ispresent(p_primitiveContent.remoteCSE.labels)){
+					v_primitiveContent.remoteCSE.labels := ?;			    
+				}
+				  
+				if(ispresent(p_primitiveContent.remoteCSE.accessControlPolicyIDs)){
+					v_primitiveContent.remoteCSE.accessControlPolicyIDs := ?;			    
+				}
+				 				
+				if(ispresent(p_primitiveContent.remoteCSE.announceTo)){
+					v_primitiveContent.remoteCSE.announceTo := ?;			    
+				}
+				 
+				if(ispresent(p_primitiveContent.remoteCSE.announcedAttribute)){
+					v_primitiveContent.remoteCSE.announcedAttribute := ?;			    
+				}
+				
+				if(ispresent(p_primitiveContent.remoteCSE.cseType)){
+					v_primitiveContent.remoteCSE.cseType := ?;			    
+				}
+				  
+				if(ispresent(p_primitiveContent.remoteCSE.pointOfAccess)){
+					v_primitiveContent.remoteCSE.pointOfAccess := ?;			    
+				}
+				  
+				if(ispresent(p_primitiveContent.remoteCSE.m2M_Ext_ID)){
+					v_primitiveContent.remoteCSE.m2M_Ext_ID := ?;			    
+				}
+				  
+				if(ispresent(p_primitiveContent.remoteCSE.trigger_Recipient_ID)){
+					v_primitiveContent.remoteCSE.trigger_Recipient_ID := ?;			    
+				}
+				  
+				if(ispresent(p_primitiveContent.remoteCSE.nodeLink)){
+					v_primitiveContent.remoteCSE.nodeLink := ?;			    
+				}
+			}			
 			return v_primitiveContent;
 		}
 		
diff --git a/OneM2M_Testcases.ttcn b/OneM2M_Testcases.ttcn
index 3e9a91b999fe9441a09ee2b056bde0ce8457ac3d..64589e43a6eb1843fdbcaf6e7fc27d906cc0727b 100644
--- a/OneM2M_Testcases.ttcn
+++ b/OneM2M_Testcases.ttcn
@@ -2485,13 +2485,13 @@ module OneM2M_Testcases {
 						var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 						
 						v_createRequest.primitiveContent.contentInstance.resourceName := omit;
-						v_ae1.start(f_CSE_DMR_CRE_001(int4, v_createRequest, m_createContainerBase));//Subscription
+						v_ae1.start(f_CSE_DMR_CRE_001(int4, v_createRequest, m_createContainerBase));//ContentInstance
 						v_ae1.done;
 						
 						 
 												
 						if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
-							if(not ispresent(v_responsePrimitive.primitiveContent.subscription.resourceName)){
+							if(not ispresent(v_responsePrimitive.primitiveContent.contentInstance.resourceName)){
 								setverdict(fail, __SCOPE__, ": Error, resourceName attribute not provided");
 							}
 						}