diff --git a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/XSD_Definitions_e.ttcn b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/XSD_Definitions_e.ttcn
index c8c954ad6fd5167c9ce97596d02ee05bdaddf39c..48630236fde02f2b298c2781598a94e311e1eb42 100644
--- a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/XSD_Definitions_e.ttcn
+++ b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/XSD_Definitions_e.ttcn
@@ -62,7 +62,7 @@ with {
 
 type union Head_group
 {
-	HeadType head,
+	@default HeadType head,
 	Extended extended
 }
 with {
diff --git a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_elements_e.ttcn b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_elements_e.ttcn
index cc556b6ff3ca028c937ab4e89f589ca21b1ce47e..0ff97600b4a4c7f715c22e6a658d0010ade31616 100644
--- a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_elements_e.ttcn
+++ b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_elements_e.ttcn
@@ -157,7 +157,7 @@ with {
 
 type union Comment_group
 {
-	XSD.String comment,
+	@default XSD.String comment,
 	CustomerComment customerComment,
 	ShipComment shipComment
 }
diff --git a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_generate_element_substitution_e.ttcn b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_generate_element_substitution_e.ttcn
index a0d4df1456f56dec9cffbce82f251e6ee4cab629..23dd7a09cce83523c9595c6982e3727d0e218d65 100644
--- a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_generate_element_substitution_e.ttcn
+++ b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_generate_element_substitution_e.ttcn
@@ -96,7 +96,7 @@ with {
 
 type union Head_group
 {
-	XSD.String head,
+	@default XSD.String head,
 	Member2 member2
 }
 with {
diff --git a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_only_element_substitution_e.ttcn b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_only_element_substitution_e.ttcn
index 951f840477c90f05b7cab4d97dfec8c6b89b1af5..b3cfe5b83a559f7eb8d2683884996b646072f4a3 100644
--- a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_only_element_substitution_e.ttcn
+++ b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_only_element_substitution_e.ttcn
@@ -96,7 +96,7 @@ with {
 
 type union RequestAbstractType1_group
 {
-	RequestAbstractType requestAbstractType1,
+	@default RequestAbstractType requestAbstractType1,
 	ProductionRequest productionRequest,
 	ProgrammingRequest programmingRequest
 }
diff --git a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_abstract_block_1_e.ttcn b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_abstract_block_1_e.ttcn
index 21409238b1e69c674b4d657b27e99f0d058138ba..585714d2bc32da9d5c2549cf9c96037c77cb5041 100644
--- a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_abstract_block_1_e.ttcn
+++ b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_abstract_block_1_e.ttcn
@@ -119,7 +119,7 @@ with {
 
 type union Head_group
 {
-	XSD.String head,
+	@default XSD.String head,
 	Member1 member1,
 	Member2 member2,
 	Member3 member3
diff --git a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_abstract_block_2_e.ttcn b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_abstract_block_2_e.ttcn
index 14fccdeacd3ef1c0647876768ecb5e563a95ae01..22917d3658da54eecce473363cbfbe5f627b0784 100644
--- a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_abstract_block_2_e.ttcn
+++ b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_abstract_block_2_e.ttcn
@@ -119,7 +119,7 @@ with {
 
 type union Head_group
 {
-	XSD.String head,
+	@default XSD.String head,
 	Member1 member1,
 	Member2 member2,
 	Member3 member3
diff --git a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_complex_without_element_e.ttcn b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_complex_without_element_e.ttcn
index 8a51f3be6e6c01918772d81a7e44450d49600e0a..d3a077f7c9cf20cf4d007a0ff5b6ce92164ddccd 100644
--- a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_complex_without_element_e.ttcn
+++ b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_complex_without_element_e.ttcn
@@ -118,7 +118,7 @@ with {
 
 type union Head_group_1
 {
-	Head_type head,
+	@default Head_type head,
 	Member member,
 	Member2 member2,
 	StringEnum stringEnum
diff --git a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_complextype_block_e.ttcn b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_complextype_block_e.ttcn
index 5e32728ca89af2b4acbda11611ff9e394266a210..ae72b4ee37548f7946aa81f1b53b6a5e63c33b85 100644
--- a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_complextype_block_e.ttcn
+++ b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_complextype_block_e.ttcn
@@ -81,7 +81,7 @@ with {
 
 type union Head_group
 {
-	RestrictedType head,
+	@default RestrictedType head,
 	RestrictedTypeElem restrictedTypeElem
 }
 with {
diff --git a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_e.ttcn b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_e.ttcn
index 6ab38866ff6a5ce2e3275e3fc4e81a9f26d3f9f5..ee8e10f52a8328e227eff3dbe97b4f4e927e25a8 100644
--- a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_e.ttcn
+++ b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_e.ttcn
@@ -129,7 +129,7 @@ with {
 
 type union Head_group
 {
-	XSD.String head,
+	@default XSD.String head,
 	Member1 member1,
 	Member2 member2,
 	Member3 member3
diff --git a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_main_e.ttcn b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_main_e.ttcn
index 9f8ff80b68b43fe83ecdfb0abe74bc9c367b609d..75124af4fe170e6998e441687a974cb59a6f5558 100644
--- a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_main_e.ttcn
+++ b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_main_e.ttcn
@@ -58,7 +58,7 @@ with {
 
 type union Subsgroup_group
 {
-	XSD.String subsgroup,
+	@default XSD.String subsgroup,
 	Replace replace_
 }
 with {
diff --git a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_name_as_e.ttcn b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_name_as_e.ttcn
index c1270211bb4062e7522999ee0270860d36cd7d1b..26e9e8c9b81b2b64e9e88496c171e7704c09726c 100644
--- a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_name_as_e.ttcn
+++ b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_name_as_e.ttcn
@@ -113,7 +113,7 @@ with {
 
 type union Head_group
 {
-	XSD.String head,
+	@default XSD.String head,
 	Member1 member1,
 	Member2 member2,
 	Member3 member3
diff --git a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_rename_e.ttcn b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_rename_e.ttcn
index ac151746abc10e1e6fa82b0fd83501e6b5fd8118..34992f93a5ad3a82e185fbde43983bc7f3e2a5f5 100644
--- a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_rename_e.ttcn
+++ b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_substitutiongroup_rename_e.ttcn
@@ -86,7 +86,7 @@ with {
 
 type union BaseElement_group
 {
-	BaseElement_1 baseElement,
+	@default BaseElement_1 baseElement,
 	Case_1 case_
 }
 with {
diff --git a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_subs_with_elem_subs_e.ttcn b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_subs_with_elem_subs_e.ttcn
index 85b43d0cf4d83b7baf19c4317c67fa0fd315cce4..8903eaa8c8221ad2033f5ca6ef873760b7ac0a41 100644
--- a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_subs_with_elem_subs_e.ttcn
+++ b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_subs_with_elem_subs_e.ttcn
@@ -125,7 +125,7 @@ with {
 
 type union Request_group
 {
-	RequestAbstractType_derivations request,
+	@default RequestAbstractType_derivations request,
 	ProductionRequest productionRequest,
 	ProgrammingRequest programmingRequest
 }
@@ -138,7 +138,7 @@ with {
 
 type union RequestAbstractType_derivations
 {
-	RequestAbstractType requestAbstractType,
+	@default RequestAbstractType requestAbstractType,
 	MyProductionRequestType myProductionRequestType,
 	MyProgrammingRequestType myProgrammingRequestType
 }
diff --git a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_abstract_block_e.ttcn b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_abstract_block_e.ttcn
index 1f5116507f9fd8d951e07f6ab7f694ebd4dc7096..751957f9e06a2f92cc07534d0f423466eb6c360d 100644
--- a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_abstract_block_e.ttcn
+++ b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_abstract_block_e.ttcn
@@ -170,7 +170,7 @@ with {
 
 type union ParentType_derivations
 {
-	ParentType parentType,
+	@default ParentType parentType,
 	ExtendedType extendedType,
 	RestrictedExtendedType restrictedExtendedType,
 	RestrictedType restrictedType,
@@ -189,7 +189,7 @@ with {
 
 type union RestrictedType_derivations
 {
-	RestrictedType restrictedType,
+	@default RestrictedType restrictedType,
 	RestrictedType2 restrictedType2,
 	RestrictedType2_1 restrictedType2_1,
 	RestrictedType3 restrictedType3
@@ -202,7 +202,7 @@ with {
 
 type union ExtendedType_derivations
 {
-	ExtendedType extendedType,
+	@default ExtendedType extendedType,
 	RestrictedExtendedType restrictedExtendedType
 }
 with {
diff --git a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_builtintype_e.ttcn b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_builtintype_e.ttcn
index a923e4c85a628b4df539a3baf8f1484eea8ce190..9d0f2eca38399bcff3a600a716979382d609b7c0 100644
--- a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_builtintype_e.ttcn
+++ b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_builtintype_e.ttcn
@@ -89,7 +89,7 @@ with {
 
 type union String_derivations
 {
-	XSD.String string,
+	@default XSD.String string,
 	Data data,
 	Enable enable,
 	Res res,
diff --git a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_chain_e.ttcn b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_chain_e.ttcn
index b6b8f174f4b4fb19fc9585a2a98dcbb36a453920..e09cfffaa70dfcd447887df2831d98f7b7b4a574 100644
--- a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_chain_e.ttcn
+++ b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_chain_e.ttcn
@@ -136,7 +136,7 @@ with {
 
 type union ParentType_derivations
 {
-	ParentType parentType,
+	@default ParentType parentType,
 	RestrictedType restrictedType,
 	RestrictedType2 restrictedType2,
 	RestrictedType2_1 restrictedType2_1,
@@ -151,7 +151,7 @@ with {
 
 type union RestrictedType_derivations
 {
-	RestrictedType restrictedType,
+	@default RestrictedType restrictedType,
 	RestrictedType2 restrictedType2,
 	RestrictedType2_1 restrictedType2_1,
 	RestrictedType3 restrictedType3
diff --git a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_complex_cascade_e.ttcn b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_complex_cascade_e.ttcn
index 7cc7a0eeeed214b7c8d80abe872ead279e162332..6e9f62528c54800e5dbf3041aff54d32d81b75a2 100644
--- a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_complex_cascade_e.ttcn
+++ b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_complex_cascade_e.ttcn
@@ -147,7 +147,7 @@ with {
 
 type union RequestType_derivations
 {
-	RequestType requestType,
+	@default RequestType requestType,
 	MyProductionRequestType_1 myProductionRequestType,
 	MyProductionRequestType2_1 myProductionRequestType2,
 	MyProductionRequestType3 myProductionRequestType3,
@@ -160,7 +160,7 @@ with {
 
 type union MyProductionRequestType_derivations
 {
-	MyProductionRequestType_1 myProductionRequestType,
+	@default MyProductionRequestType_1 myProductionRequestType,
 	MyProductionRequestType2_1 myProductionRequestType2,
 	MyProductionRequestType3 myProductionRequestType3,
 	MyProductionRequestType4 myProductionRequestType4
@@ -172,7 +172,7 @@ with {
 
 type union MyProductionRequestType2_derivations
 {
-	MyProductionRequestType2_1 myProductionRequestType2,
+	@default MyProductionRequestType2_1 myProductionRequestType2,
 	MyProductionRequestType3 myProductionRequestType3,
 	MyProductionRequestType4 myProductionRequestType4
 }
diff --git a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_e.ttcn b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_e.ttcn
index aaeb535cb3a7a3a035c1c1e830885e9bbc1aeb62..25d09c0a427154f87e1fd432ea6c7a5d561439be 100644
--- a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_e.ttcn
+++ b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_e.ttcn
@@ -101,7 +101,7 @@ type record SubmitRequestType
 
 type union ParentType_derivations
 {
-	ParentType parentType,
+	@default ParentType parentType,
 	RestrictedType restrictedType
 }
 with {
diff --git a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_elem_in_ct_mod1_e.ttcn b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_elem_in_ct_mod1_e.ttcn
index 679d566f3653afaf544c0ca2e3eeb50214d851bd..4436e1e34f56ad38c961cbc95e734f5bd74ea019 100644
--- a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_elem_in_ct_mod1_e.ttcn
+++ b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_elem_in_ct_mod1_e.ttcn
@@ -103,7 +103,7 @@ with {
 
 type union String_derivations
 {
-	XSD.String string,
+	@default XSD.String string,
 	Stringtype stringtype,
 	Stringtype2 stringtype2
 }
@@ -114,7 +114,7 @@ with {
 
 type union Stringtype_derivations
 {
-	Stringtype stringtype,
+	@default Stringtype stringtype,
 	Stringtype2 stringtype2
 }
 with {
@@ -124,7 +124,7 @@ with {
 
 type union ParentType_derivations
 {
-	ParentType parentType,
+	@default ParentType parentType,
 	MorerestrictedType morerestrictedType,
 	RestrictedType restrictedType
 }
@@ -138,7 +138,7 @@ with {
 
 type union RestrictedType_derivations
 {
-	RestrictedType restrictedType,
+	@default RestrictedType restrictedType,
 	MorerestrictedType morerestrictedType
 }
 with {
diff --git a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_mod1_e.ttcn b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_mod1_e.ttcn
index fa45db9f6819dba97f553ca8a57c1b4c3969b449..c93b359c9897536ca12e5e6bb80a9cd5b052e88e 100644
--- a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_mod1_e.ttcn
+++ b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_mod1_e.ttcn
@@ -140,7 +140,7 @@ with {
 
 type union ParentType_derivations
 {
-	ParentType parentType,
+	@default ParentType parentType,
 	ExtendedType extendedType,
 	RestrictedExtendedType restrictedExtendedType,
 	RestrictedType restrictedType,
@@ -159,7 +159,7 @@ with {
 
 type union RestrictedType_derivations
 {
-	RestrictedType restrictedType,
+	@default RestrictedType restrictedType,
 	RestrictedType2 restrictedType2,
 	RestrictedType2_1 restrictedType2_1,
 	RestrictedType3 restrictedType3
diff --git a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_mod2_e.ttcn b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_mod2_e.ttcn
index 86ead43828d387e84cec1013fb082bd250adf843..982937a503dbe2201140773da915b129eab4abc7 100644
--- a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_mod2_e.ttcn
+++ b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_mod2_e.ttcn
@@ -97,7 +97,7 @@ with {
 
 type union ExtendedType_derivations
 {
-	ExtendedType extendedType,
+	@default ExtendedType extendedType,
 	RestrictedExtendedType restrictedExtendedType
 }
 with {
diff --git a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_rename_e.ttcn b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_rename_e.ttcn
index 3e0faf7c59a3f56453057a9e1d696eeddf23015f..c957bbb4db9978dfe4378fe0e05039bce0ed086c 100644
--- a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_rename_e.ttcn
+++ b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_rename_e.ttcn
@@ -91,7 +91,7 @@ with {
 
 type union ParentType_derivations
 {
-	ParentType_1 parentType,
+	@default ParentType_1 parentType,
 	RestrictedType_1 restrictedType
 }
 with {
diff --git a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_simple_cascade_e.ttcn b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_simple_cascade_e.ttcn
index f73f79b25c11a35cee707dcf6cf18995328157c2..d0cf7f6a74a7866be3b09675ebf8e21f52983050 100644
--- a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_simple_cascade_e.ttcn
+++ b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_simple_cascade_e.ttcn
@@ -98,7 +98,7 @@ with {
 
 type union String_derivations
 {
-	XSD.String string,
+	@default XSD.String string,
 	Stringtype stringtype,
 	Stringtype2 stringtype2,
 	Stringtype3 stringtype3,
@@ -111,7 +111,7 @@ with {
 
 type union Stringtype_derivations
 {
-	Stringtype stringtype,
+	@default Stringtype stringtype,
 	Stringtype2 stringtype2,
 	Stringtype3 stringtype3,
 	Stringtype4 stringtype4
@@ -123,7 +123,7 @@ with {
 
 type union Stringtype2_derivations
 {
-	Stringtype2 stringtype2,
+	@default Stringtype2 stringtype2,
 	Stringtype3 stringtype3,
 	Stringtype4 stringtype4
 }
@@ -134,7 +134,7 @@ with {
 
 type union Stringtype3_derivations
 {
-	Stringtype3 stringtype3,
+	@default Stringtype3 stringtype3,
 	Stringtype4 stringtype4
 }
 with {
diff --git a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_simpletype_e.ttcn b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_simpletype_e.ttcn
index cf6d701393507ca09f7dd6af1e5b837334a92afe..e3a61bdcb236e83ff1aa9d8a5ca5872da2bca7a5 100644
--- a/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_simpletype_e.ttcn
+++ b/regression_test/XML/XmlWorkflow/XmlTest_expectedTtcns/www_example_org_type_substitution_simpletype_e.ttcn
@@ -143,7 +143,7 @@ with {
 
 type union String_derivations
 {
-	XSD.String string,
+	@default XSD.String string,
 	Stringtype stringtype,
 	Stringtype2 stringtype2
 }
@@ -154,7 +154,7 @@ with {
 
 type union Stringtype_derivations
 {
-	Stringtype stringtype,
+	@default Stringtype stringtype,
 	Stringtype2 stringtype2
 }
 with {
@@ -164,7 +164,7 @@ with {
 
 type union Integer_derivations
 {
-	XSD.Integer integer_,
+	@default XSD.Integer integer_,
 	ExtInt extInt
 }
 with {
@@ -175,7 +175,7 @@ with {
 
 type union Base64Binary_derivations
 {
-	XSD.Base64Binary base64Binary,
+	@default XSD.Base64Binary base64Binary,
 	CrypBinary crypBinary
 }
 with {
diff --git a/xsdconvert/ComplexType.cc b/xsdconvert/ComplexType.cc
index 6c35d94f6ed40a69cfb3d5b3aeda7e2c7f2d9486..6a48c5aa4bc6d29b94a56ed4778d70a2e043986e 100644
--- a/xsdconvert/ComplexType.cc
+++ b/xsdconvert/ComplexType.cc
@@ -1207,7 +1207,14 @@ void ComplexType::printToFile(FILE * file, const unsigned level, const bool is_u
     }
 
     for (List<ComplexType*>::iterator c = complexfields.begin(); c; c = c->Next) {
-      c->Data->printToFile(file, level + 1, is_union);
+      if (c == complexfields.begin() && (subsGroup == this || typeSubsGroup == this)) {
+        indent(file, level + 1);
+        fprintf(file, "@default ");
+        c->Data->printToFile(file, 0, is_union);
+      }
+      else {
+        c->Data->printToFile(file, level + 1, is_union);
+      }
       if (c->Next != NULL) {
         fprintf(file, ",\n");
       } else {