diff --git a/LibOneM2M/OneM2M_Functions.ttcn b/LibOneM2M/OneM2M_Functions.ttcn
index 7b766a38f394f7ad0eb1d553ef727fe837d83b67..b17356f14a8b220bc713fc6d24db74d95883c56c 100644
--- a/LibOneM2M/OneM2M_Functions.ttcn
+++ b/LibOneM2M/OneM2M_Functions.ttcn
@@ -880,7 +880,7 @@ module OneM2M_Functions {
     	
 					tc_ac.start;
 					alt {
-						[] mcaPort.receive(mw_request(mw_notify(valueof(v_notificationRequest)))) -> value v_request {
+						[] mcaPort.receive(mw_request(mw_notify(v_notificationRequest))) -> value v_request {
 							tc_ac.stop;
 							setverdict(pass, __SCOPE__ & ":INFO: Notification received");
 							v_responsePrimitive.requestIdentifier := v_request.primitive.requestPrimitive.requestIdentifier;
diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn
index 780d6cbdfc15a885d204afa402ae34038296edf6..c8566b0f0519024e7e1f5b69143a3c65e183a958 100644
--- a/LibOneM2M/OneM2M_Templates.ttcn
+++ b/LibOneM2M/OneM2M_Templates.ttcn
@@ -2773,11 +2773,11 @@ module OneM2M_Templates {
 		}
 		
 		template Subscription_optional mw_contentSubscription_rc4 modifies mw_contentSubscriptionBase := {
-			choice := {schedule := ?}	//O
+			choice := {choice_list := ?}	//O
 		}
 		
 		template Subscription_optional mw_contentSubscription_rc5 modifies mw_contentSubscriptionBase := {
-			choice := {childResource := ?}	//O
+			choice := {childResource_list := ?}	//O
 		}
 		
 		template Subscription_optional mw_contentSubscription_rc6 modifies mw_contentSubscriptionBase := {
@@ -2805,7 +2805,7 @@ module OneM2M_Templates {
 			notificationEventCat := omit,//O
 			creator := omit,//O
 			subscriberURI := omit,//O
-			choice := {childResource := ?}//O
+			choice := {childResource_list := ?}//O
 		}
 		
 		template Subscription_optional mw_contentSubscription_rc7 modifies mw_contentSubscriptionBase := {
@@ -2813,7 +2813,7 @@ module OneM2M_Templates {
 		}
 		
 		template Subscription_optional mw_contentSubscription_rc8 modifies m_contentSubscription_allOmit := {
-			choice := {childResource := ?}	//O
+			choice := {childResource_list := ?}	//O
 		}
     	
 		template ContentInstance_optional mw_contentContentInstanceBase := {
diff --git a/LibOneM2M/OneM2M_Types.ttcn b/LibOneM2M/OneM2M_Types.ttcn
index f6d9208addab417d39aef9116c9c559b6ccc8785..3a986f0c6e61333440f9f107b005ce757ad6b2eb 100644
--- a/LibOneM2M/OneM2M_Types.ttcn
+++ b/LibOneM2M/OneM2M_Types.ttcn
@@ -5215,9 +5215,11 @@ group optionalResourceTypes {
 			XSD.ID creator optional,
 			XSD.AnyURI subscriberURI optional,
 			union {
-				ChildResourceRef childResource,
-				Schedule schedule
-			} choice optional
+				record length(1 .. infinity) of ChildResourceRef childResource_list,
+				record length(1 .. infinity) of union {
+					Schedule schedule
+				} choice_list
+			} choice optional //TODO Replace type of choice union elements as other choice union elements (record length(1..infinity) of)
 		}
 		with {
 		  variant "name as uncapitalized";
@@ -5226,6 +5228,10 @@ group optionalResourceTypes {
 		  //variant (latestNotify) "text 'true' as '1'";
 		  //variant (latestNotify) "text 'false' as '0'";
 		  variant (choice) "untagged";
+		  variant (choice.childResource_list) "untagged";
+		  variant (choice.childResource_list[-]) "name as 'childResource'";
+		  variant (choice.choice_list) "untagged";
+		  variant (choice.choice_list[-]) "untagged";
 		};