diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PlatformConfiguration.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PlatformConfiguration.java
index c20dc3d..e4cbb83 100644
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PlatformConfiguration.java
+++ b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PlatformConfiguration.java
@@ -258,16 +258,20 @@
 		if (config == null)
 			config = new Configuration();
 
-		SiteEntry defaultSite = config.getSiteEntry(PlatformURLHandler.PROTOCOL + PlatformURLHandler.PROTOCOL_SEPARATOR + "/" + "base" + "/");
-		if (defaultSite != null) {
-			defaultSite.addFeatureEntry(entry);
-		} else {
-			// pick up the first site
-			SiteEntry[] sites = config.getSites();
-			if (sites.length > 0) {
-				sites[0].addFeatureEntry(entry);
+		SiteEntry[] sites = config.getSites();
+		for (int i=0; i<sites.length; i++) {
+			// find out what site contains the feature and configure it
+			try {
+				URL url = new URL(sites[i].getURL(), FEATURES + "/" + entry.getFeatureIdentifier()+ "_" + entry.getFeatureVersion() + "/");
+				if (new File(url.getFile()).exists())
+					sites[i].addFeatureEntry(entry);
+				else  {
+					url = new URL(sites[i].getURL(), FEATURES + "/" + entry.getFeatureIdentifier() + "/");
+					if (new File(url.getFile()).exists())
+						sites[i].addFeatureEntry(entry);
+				}
+			} catch (MalformedURLException e) {
 			}
-			// else, do nothing (we need a site)
 		}
 	}
 
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/SiteEntry.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/SiteEntry.java
index e4ee916..bf6d8d8 100644
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/SiteEntry.java
+++ b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/SiteEntry.java
@@ -542,9 +542,9 @@
 	}
 	
 	public FeatureEntry[] getFeatureEntries() {
-//		if	 PDE generated config, don't detect anything.
-		if (featureEntries == null && (config == null || !config.isTransient()))
+		if (featureEntries == null)
 			detectFeatures();
+		
 		if (featureEntries == null)
 			return new FeatureEntry[0];
 		else
