diff --git a/1.5/plugins/org.eclipse.epf.publish.layout/layout/xsl/resources.properties b/1.5/plugins/org.eclipse.epf.publish.layout/layout/xsl/resources.properties
index 852eec2..fe38cf6 100644
--- a/1.5/plugins/org.eclipse.epf.publish.layout/layout/xsl/resources.properties
+++ b/1.5/plugins/org.eclipse.epf.publish.layout/layout/xsl/resources.properties
@@ -224,6 +224,7 @@
 additionalText=Additional
 modifiesText=Modifies
 additionallyPerformsText=Additionally Performs
+primaryPerformsText=Primary Performs
 indexText=Index
 breakdownElementText=Breakdown Element
 predecessorsText=Predecessors
diff --git a/1.5/plugins/org.eclipse.epf.publish.layout/layout/xsl/resources.xsl b/1.5/plugins/org.eclipse.epf.publish.layout/layout/xsl/resources.xsl
index 4fec299..f221a5e 100644
--- a/1.5/plugins/org.eclipse.epf.publish.layout/layout/xsl/resources.xsl
+++ b/1.5/plugins/org.eclipse.epf.publish.layout/layout/xsl/resources.xsl
@@ -256,5 +256,5 @@
 	<xsl:param name="udtText"/>
 	
 	<xsl:param name="guidancesText"/>
-	
+	<xsl:param name="primaryPerformsText"/>
 </xsl:stylesheet>
diff --git a/1.5/plugins/org.eclipse.epf.publish.layout/layout/xsl/role.xsl b/1.5/plugins/org.eclipse.epf.publish.layout/layout/xsl/role.xsl
index 5706ae4..2b6586d 100644
--- a/1.5/plugins/org.eclipse.epf.publish.layout/layout/xsl/role.xsl
+++ b/1.5/plugins/org.eclipse.epf.publish.layout/layout/xsl/role.xsl
@@ -137,6 +137,7 @@
 
 	<xsl:template name="relationshipsSection">
 			<xsl:variable name="practices" select="referenceList[@name='Practices']/Element"/>	
+		<xsl:variable name="Role_Primary_Tasks" select="referenceList[@name='Role_Primary_Tasks']/Element"/>
 		<xsl:variable name="additionallyPerforms" select="referenceList[@name='additionallyPerforms']/Element"/>
 		<xsl:variable name="workProductModifies" select="referenceList[@name='modifies']/Element[@Type!='WorkProductSlot']"/>
 		<xsl:variable name="workProductSlotModifies" select="referenceList[@name='modifies']/Element[@Type='WorkProductSlot']"/>
@@ -163,6 +164,10 @@
 					<xsl:with-param name="refElement" select="$categories"/>
 				</xsl:call-template>
 				<xsl:call-template name="addReferences">
+					<xsl:with-param name="refName" select="$primaryPerformsText"/>
+					<xsl:with-param name="refElement" select="$Role_Primary_Tasks"/>
+				</xsl:call-template>
+				<xsl:call-template name="addReferences">
 					<xsl:with-param name="refName" select="$additionallyPerformsText"/>
 					<xsl:with-param name="refElement" select="$additionallyPerforms"/>
 				</xsl:call-template>
diff --git a/1.5/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/ConfigurationViewBuilder.java b/1.5/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/ConfigurationViewBuilder.java
index 3158386..755a861 100644
--- a/1.5/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/ConfigurationViewBuilder.java
+++ b/1.5/plugins/org.eclipse.epf.publishing/src/org/eclipse/epf/publishing/services/ConfigurationViewBuilder.java
@@ -1145,8 +1145,8 @@
 		List items = calc0nFeatureValue(element,
 				AssociationHelper.Role_Primary_Tasks);
 		if (items.size() > 0) {
+			Collections.sort(items, nameComparator);
 			if (options.isPublishLightWeightTree()) {
-				Collections.sort(items, nameComparator);
 				allItems.addAll(items);
 			} else {
 				createFolderBookmark(element, bm, PREFIX_ResponsibleFor_Tasks,
@@ -1163,6 +1163,7 @@
 			items = calc0nFeatureValue(element,
 					AssociationHelper.Role_Secondary_Tasks);
 			if (items.size() > 0) {
+				Collections.sort(items, nameComparator);
 				createFolderBookmark(element, bm, PREFIX_ParticipatesIn_Tasks,
 						NODE_ParticipatesIn_Tasks, items, true);
 			}
@@ -1177,8 +1178,8 @@
 				.getRole_ResponsibleFor());
 
 		if (items.size() > 0) {
+			Collections.sort(items, nameComparator);
 			if (options.isPublishLightWeightTree()) {
-				Collections.sort(items, nameComparator);
 				allItems.addAll(items);
 			} else {
 				b = createFolderBookmark(element, bm,
@@ -1197,6 +1198,7 @@
 			items = calc0nFeatureValue(element, UmaPackage.eINSTANCE
 					.getRole_Modifies());
 			if (items.size() > 0) {
+				Collections.sort(items, nameComparator);
 				b = createFolderBookmark(element, bm,
 						PREFIX_Work_Products_Modified,
 						NODE_Work_Products_Modified, items, false);
@@ -1224,8 +1226,8 @@
 				.getContentElement_SupportingMaterials()));
 
 		if (items.size() > 0) {
+			Collections.sort(items, nameComparator);
 			if (options.isPublishLightWeightTree()) {
-				Collections.sort(items, nameComparator);
 				allItems.addAll(items);
 			} else {
 				createFolderBookmark(element, bm, PREFIX_Guidances, NODE_Guidances, items, true);
