bug 57528
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Configuration.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Configuration.java
index 255ca80..a6cc0ae 100644
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Configuration.java
+++ b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Configuration.java
@@ -69,8 +69,10 @@
 	
 	public void addSiteEntry(String url, SiteEntry site) {
 		// only add the same site once
-		if (sites.get(url) == null && (linkedConfig == null || linkedConfig.sites.get(url) == null))
+		if (sites.get(url) == null && (linkedConfig == null || linkedConfig.sites.get(url) == null)) {
+			site.setConfig(this);
 			sites.put(url, site);
+		}
 	}
 	
 	public void removeSiteEntry(String url) {
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 9312f5c..abd792d 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
@@ -35,6 +35,7 @@
 	private long pluginsChangeStamp;
 	private String linkFileName;
 	private boolean enabled = true;
+	private Configuration config;
 	
 	private static FeatureParser featureParser = new FeatureParser();
 	private static PluginParser pluginParser = new PluginParser();
@@ -75,6 +76,14 @@
 		}
 	}
 
+	public void setConfig(Configuration config) {
+		this.config = config;
+	}
+	
+	public Configuration getConfig() {
+		return config;
+	}
+	
 	/*
 	 * @see ISiteEntry#getURL()
 	 */
@@ -533,6 +542,10 @@
 	}
 	
 	public FeatureEntry[] getFeatureEntries() {
+		// PDE generated config, don't detect anything.
+		if (config != null && config.isTransient())
+			return new FeatureEntry[0];
+		
 		if (featureEntries == null)
 			detectFeatures();
 		return (FeatureEntry[])featureEntries.values().toArray(new FeatureEntry[featureEntries.size()]);