diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/core/SiteManager.java b/update/org.eclipse.update.core/src/org/eclipse/update/core/SiteManager.java
index 8963d9e..106ee64 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/core/SiteManager.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/core/SiteManager.java
@@ -88,10 +88,14 @@
 		InternalSiteManager.handleNewChanges();
 	}
 	/**
-	 * Returns the string name of the system architecture 
+	 * Returns system architecture specification. A comma-separated list of arch
+	 * designators defined by the platform. 
 	 * 
-	 * @see BootLoader#ARCH_LIST
-	 * @return String
+	 * This information is used as a hint by the installation and update
+	 * support.
+	 * 
+     * @see BootLoader#ARCH_LIST
+	 * @return system architecture specification
 	 * @since 2.1
 	 */
 	public static String getOSArch(){
@@ -100,11 +104,15 @@
 		return arch;
 	}
 
-	/**
-	 * Returns the string name of the opearting system
+    /**
+	 * Returns operating system specification. A comma-separated list of os
+	 * designators defined by the platform.
 	 * 
+	 * This information is used as a hint by the installation and update
+	 * support.
+	 *
 	 * @see BootLoader#OS_LIST
-	 * @return String
+	 * @return the operating system specification.
 	 * @since 2.1
 	 */
 	public static String getOS(){
@@ -114,10 +122,14 @@
 	}
 
 	/**
-	 * Returns the string name of the windowing system
+	 * Returns system architecture specification. A comma-separated list of arch
+	 * designators defined by the platform. 
+	 * 
+	 * This information is used as a hint by the installation and update
+	 * support.
 	 * 
 	 * @see BootLoader#WS_LIST
-	 * @return String
+	 * @return system architecture specification.
 	 * @since 2.1
 	 */
 	public static String getWS() {
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/UpdateManagerUtils.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/UpdateManagerUtils.java
index 730bb37..a25e0a7 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/UpdateManagerUtils.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/core/UpdateManagerUtils.java
@@ -606,11 +606,13 @@
 	/**
 	 * 
 	 */	
-	private static boolean isMatching(String values, String current) {
-		StringTokenizer stok = new StringTokenizer(values, ",");
+	private static boolean isMatching(String candidateValues, String siteValues) {
+		if (siteValues==null) return false;
+		siteValues = siteValues.toUpperCase();		
+		StringTokenizer stok = new StringTokenizer(candidateValues, ",");
 		while (stok.hasMoreTokens()) {
-			String token = stok.nextToken();
-			if (token.equalsIgnoreCase(current)) return true;
+			String token = stok.nextToken().toUpperCase();
+			if (siteValues.indexOf(token)!=-1) return true;
 		}
 		return false;
 	}
