diff --git a/org.eclipse.epf.web.search/src/org/eclipse/epf/web/search/utils/StrUtil.java b/org.eclipse.epf.web.search/src/org/eclipse/epf/web/search/utils/StrUtil.java
index 08d4608..a2b5970 100644
--- a/org.eclipse.epf.web.search/src/org/eclipse/epf/web/search/utils/StrUtil.java
+++ b/org.eclipse.epf.web.search/src/org/eclipse/epf/web/search/utils/StrUtil.java
@@ -3,7 +3,10 @@
 //------------------------------------------------------------------------------
 package org.eclipse.epf.web.search.utils;
 
+import java.util.LinkedList;
 import java.util.List;
+import java.util.ListIterator;
+
 import com.ibm.icu.util.StringTokenizer;
 
 /**
@@ -467,6 +470,23 @@
 	}
 
 	public static String convertFirstLetterCase(String s, String[] keyWords) {
+		//need to rearrange the KeyWords list in order to avoid unexpected replacement.
+		List newKeyWordList = new LinkedList();
+		for(int i = 0; i < keyWords.length; i++){
+			ListIterator iter = newKeyWordList.listIterator();
+			int index = 0;
+			while(iter.hasNext()){
+				String keyWord = (String)iter.next();
+				if(keyWord.toLowerCase().indexOf(keyWords[i].toLowerCase()) >= 0){
+					break;
+				}
+				index++;
+			}
+			newKeyWordList.add(index, keyWords[i]);
+		}
+		keyWords = (String[])newKeyWordList.toArray(new String[]{});
+
+		
 		StringBuffer sb = new StringBuffer(s.substring(0, 1).toUpperCase()
 				+ s.substring(1).toLowerCase());
 		int foundIndex;
