diff --git a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/ManifestModuleDependencyControl.java b/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/ManifestModuleDependencyControl.java
index 4f0a15d..9d7db98 100644
--- a/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/ManifestModuleDependencyControl.java
+++ b/plugins/org.eclipse.jst.common.ui/src/org/eclipse/jst/common/ui/internal/assembly/wizard/ManifestModuleDependencyControl.java
@@ -11,6 +11,7 @@
  ******************************************************************************/
 package org.eclipse.jst.common.ui.internal.assembly.wizard;
 
+import java.text.Collator;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -401,6 +402,7 @@
 				return null;
 			}
 			return new ViewerComparator() {
+				Collator collator = Collator.getInstance();
 				public int compare(Viewer viewerLocal, Object e1, Object e2) {
 					IBaseLabelProvider baseLabelProvider = tableViewer.getLabelProvider();
 					if(baseLabelProvider instanceof ITableLabelProvider){
@@ -408,7 +410,7 @@
 						String text1 = tableLabelProvider.getColumnText(e1, columnIndex);
 						if(text1 != null){
 							String text2 = tableLabelProvider.getColumnText(e2, columnIndex);
-							int comp = text1.compareTo(text2);
+							int comp = collator.compare(text1, text2);
 							if(sortDirection == SWT.DOWN){
 								comp = -comp;
 							}
diff --git a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/AddModuleDependenciesPropertiesPage.java b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/AddModuleDependenciesPropertiesPage.java
index c9fb3f6..685f548 100644
--- a/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/AddModuleDependenciesPropertiesPage.java
+++ b/plugins/org.eclipse.wst.common.modulecore.ui/src/org/eclipse/wst/common/componentcore/ui/propertypage/AddModuleDependenciesPropertiesPage.java
@@ -14,6 +14,7 @@
 package org.eclipse.wst.common.componentcore.ui.propertypage;
 
 import java.io.File;
+import java.text.Collator;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -736,6 +737,7 @@
 				return null;
 			}
 			return new ViewerComparator() {
+				Collator collator = Collator.getInstance();
 				public int compare(Viewer viewerLocal, Object e1, Object e2) {
 					IBaseLabelProvider baseLabelProvider = treeViewer.getLabelProvider();
 					if(baseLabelProvider instanceof ITableLabelProvider){
@@ -743,7 +745,7 @@
 						String text1 = tableLabelProvider.getColumnText(e1, columnIndex);
 						if(text1 != null){
 							String text2 = tableLabelProvider.getColumnText(e2, columnIndex);
-							int comp = text1.compareTo(text2);
+							int comp = collator.compare(text1, text2);
 							if(sortDirection == SWT.DOWN){
 								comp = -comp;
 							}
