*** empty log message ***
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/forms/ActivityConstraints.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/forms/ActivityConstraints.java
index 2b715df..aec19bc 100644
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/forms/ActivityConstraints.java
+++ b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/forms/ActivityConstraints.java
@@ -516,6 +516,7 @@
 			IFeature[] array =
 				(IFeature[]) siteFeatures.toArray(
 					new IFeature[siteFeatures.size()]);
+			ArrayList removeTree = new ArrayList();
 			for (int j = 0; j < array.length; j++) {
 				VersionedIdentifier id1 = array[j].getVersionedIdentifier();
 				for (int k = 0; k < array.length; k++) {
@@ -525,11 +526,17 @@
 					if (id1.getIdentifier().equals(id2.getIdentifier())) {
 						if (id2.getVersion().isGreaterThan(id1.getVersion())) {
 							siteFeatures.remove(array[j]);
+							removeTree.add(array[j]);
 							break;
 						}
 					}
 				}
 			}
+			// Compute patches that will need to be removed together with 
+			// the removed features
+			ArrayList patchesTree = new ArrayList();
+			contributePatchesFor(removeTree, siteFeatures, patchesTree);
+			siteFeatures.removeAll(patchesTree);
 
 			// accumulate site results
 			features.addAll(siteFeatures);