*** empty log message ***
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature1_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature1_1.0.0.jar
index 1e16cde..c812b0b 100644
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature1_1.0.0.jar
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature1_1.0.0.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature2_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature2_1.0.0.jar
index 65add3f..fbf1754 100644
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature2_1.0.0.jar
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature2_1.0.0.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature3_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature3_1.0.0.jar
index 7b1daf8..8682a62 100644
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature3_1.0.0.jar
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature3_1.0.0.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin1_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin1_1.0.0.jar
index 0e2865c..8bbc7f3 100644
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin1_1.0.0.jar
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin1_1.0.0.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin2_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin2_1.0.0.jar
index cdf9eb1..5d42583 100644
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin2_1.0.0.jar
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin2_1.0.0.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin3_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin3_1.0.0.jar
index 7a68315..aa94e52 100644
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin3_1.0.0.jar
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin3_1.0.0.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin4_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin4_1.0.0.jar
index f3b45cc..c8cca28 100644
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin4_1.0.0.jar
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin4_1.0.0.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/site.xml b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/site.xml
index 765c0ba..163f7bb 100644
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/site.xml
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/site.xml
@@ -1,20 +1,25 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <site>
    <feature url="features/update.feature1_1.0.0.jar" id="update.feature1" version="1.0.0">
-      <category name="Site1Category"/>
+      <category name="Site1-Category1"/>
    </feature>
    <feature url="features/update.feature2_1.0.0.jar" id="update.feature2" version="1.0.0">
-      <category name="Site1Category2"/>
+      <category name="Site1-Category2"/>
    </feature>
    <feature url="features/update.feature3_1.0.0.jar" id="update.feature3" version="1.0.0">
-      <category name="Site1Category"/>
+      <category name="Site1-Category3"/>
    </feature>
-   <category-def name="Site1Category" label="Category-RemoteUpdateSite1">
+   <category-def name="Site1-Category1" label="Site1-Category1-Label">
       <description>
          ecetera.
       </description>
    </category-def>
-   <category-def name="Site1Category2" label="Category2-RemoteUpdateSite1">
+   <category-def name="Site1-Category2" label="Site1-Category2-Label">
+      <description>
+         ecetera.
+      </description>
+   </category-def>
+   <category-def name="Site1-Category3" label="Site1-Category3-Label">
       <description>
          ecetera.
       </description>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/.sitebuild/sitebuild.xml b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/.sitebuild/sitebuild.xml
index ea962a6..e3510b0 100644
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/.sitebuild/sitebuild.xml
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/.sitebuild/sitebuild.xml
@@ -3,7 +3,7 @@
       feature-location="features"
       plugin-location="plugins"
       autobuild="false"
-      scrub-output="true"
+      scrub-output="false"
       use-console="true">
    <feature id="update.feature1b" version="2.0.0"/>
    <feature id="update.feature2b" version="2.0.0"/>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/features/update.feature1b_2.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/features/update.feature1b_2.0.0.jar
index 6b28d9b..6b9a876 100644
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/features/update.feature1b_2.0.0.jar
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/features/update.feature1b_2.0.0.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/features/update.feature2b_2.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/features/update.feature2b_2.0.0.jar
index dc2fddc..97bb70f 100644
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/features/update.feature2b_2.0.0.jar
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/features/update.feature2b_2.0.0.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin1_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin1_1.0.0.jar
index cd84f85..ee2d41d 100644
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin1_1.0.0.jar
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin1_1.0.0.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin1a_1.0.1.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin1a_1.0.1.jar
index ec0868b..97183c7 100644
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin1a_1.0.1.jar
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin1a_1.0.1.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin2_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin2_1.0.0.jar
index 552ee8a..e31b28e 100644
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin2_1.0.0.jar
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin2_1.0.0.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin2a_1.0.1.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin2a_1.0.1.jar
index e6de448..557ba5d 100644
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin2a_1.0.1.jar
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin2a_1.0.1.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/.sitebuild/build.log b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/.sitebuild/build.log
index 98b629c..1cfe8e3 100644
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/.sitebuild/build.log
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/.sitebuild/build.log
@@ -13,6 +13,22 @@
 Task finished: property

 Target finished: init

 Target started: all.features

+Task started: ant

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: build.update.jar

+Task started: antcall

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: all.features

 Target finished: all.features

 Target started: all.plugins

 Task started: ant

@@ -62,88 +78,23 @@
 Task started: property

 Task finished: property

 Target finished: init

-Target started: plugin3.jar

-Target finished: plugin3.jar

-Task finished: antcall

-Target finished: build.jars

-Task finished: antcall

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: copy

-Task finished: copy

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: zip

-Task finished: zip

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

+Target started: plugin1.jar

 Task started: delete

 Task finished: delete

 Task started: mkdir

 Task finished: mkdir

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.jars

-Task started: available

-Task finished: available

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: plugin4.jar

-Target finished: plugin4.jar

+Task started: javac

+Message logged: Compile failed; see the compiler error output for details.

+Task finished: javac

+Task started: copy

+Task finished: copy

+Task started: mkdir

+Task finished: mkdir

+Task started: jar

+Task finished: jar

+Task started: delete

+Task finished: delete

+Target finished: plugin1.jar

 Task finished: antcall

 Target finished: build.jars

 Task finished: antcall

@@ -216,6 +167,425 @@
 Task started: delete

 Task finished: delete

 Target finished: build.update.jar

+Task finished: ant

+Task started: ant

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: build.update.jar

+Task started: antcall

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: all.features

+Target finished: all.features

+Target started: all.plugins

+Task started: ant

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: build.update.jar

+Task started: delete

+Task finished: delete

+Task started: mkdir

+Task finished: mkdir

+Task started: antcall

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: build.jars

+Task started: available

+Task finished: available

+Task started: antcall

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: plugin1.jar

+Target finished: plugin1.jar

+Task finished: antcall

+Target finished: build.jars

+Task finished: antcall

+Task started: antcall

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: gather.bin.parts

+Task started: mkdir

+Task finished: mkdir

+Task started: copy

+Task finished: copy

+Task started: copy

+Task finished: copy

+Target finished: gather.bin.parts

+Task finished: antcall

+Task started: zip

+Task finished: zip

+Task started: delete

+Task finished: delete

+Target finished: build.update.jar

+Task finished: ant

+Target finished: all.plugins

+Target started: update.feature

+Target finished: update.feature

+Target started: all.children

+Target finished: all.children

+Task finished: antcall

+Task started: property

+Task finished: property

+Task started: delete

+Task finished: delete

+Task started: mkdir

+Task finished: mkdir

+Task started: antcall

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: gather.bin.parts

+Task started: antcall

+Target started: children

+Target finished: children

+Task finished: antcall

+Task started: mkdir

+Task finished: mkdir

+Task started: copy

+Task finished: copy

+Task started: eclipse.idReplacer

+Task finished: eclipse.idReplacer

+Task started: antcall

+Target started: ROOTFILES*_*_*

+Target finished: ROOTFILES*_*_*

+Task finished: antcall

+Target finished: gather.bin.parts

+Task finished: antcall

+Task started: jar

+Task finished: jar

+Task started: delete

+Task finished: delete

+Target finished: build.update.jar

+Task finished: ant

+Task started: ant

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: build.update.jar

+Task started: antcall

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: all.features

+Target finished: all.features

+Target started: all.plugins

+Task started: ant

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: build.update.jar

+Task started: delete

+Task finished: delete

+Task started: mkdir

+Task finished: mkdir

+Task started: antcall

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: build.jars

+Task started: available

+Task finished: available

+Task started: antcall

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: plugin1.jar

+Target finished: plugin1.jar

+Task finished: antcall

+Target finished: build.jars

+Task finished: antcall

+Task started: antcall

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: gather.bin.parts

+Task started: mkdir

+Task finished: mkdir

+Task started: copy

+Task finished: copy

+Task started: copy

+Task finished: copy

+Target finished: gather.bin.parts

+Task finished: antcall

+Task started: zip

+Task finished: zip

+Task started: delete

+Task finished: delete

+Target finished: build.update.jar

+Task finished: ant

+Task started: ant

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: build.update.jar

+Task started: delete

+Task finished: delete

+Task started: mkdir

+Task finished: mkdir

+Task started: antcall

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: build.jars

+Task started: available

+Task finished: available

+Task started: antcall

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: plugin1a.jar

+Task started: delete

+Task finished: delete

+Task started: mkdir

+Task finished: mkdir

+Task started: javac

+Message logged: Compile failed; see the compiler error output for details.

+Task finished: javac

+Task started: copy

+Task finished: copy

+Task started: mkdir

+Task finished: mkdir

+Task started: jar

+Task finished: jar

+Task started: delete

+Task finished: delete

+Target finished: plugin1a.jar

+Task finished: antcall

+Target finished: build.jars

+Task finished: antcall

+Task started: antcall

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: gather.bin.parts

+Task started: mkdir

+Task finished: mkdir

+Task started: copy

+Task finished: copy

+Task started: copy

+Task finished: copy

+Target finished: gather.bin.parts

+Task finished: antcall

+Task started: zip

+Task finished: zip

+Task started: delete

+Task finished: delete

+Target finished: build.update.jar

+Task finished: ant

+Target finished: all.plugins

+Target started: update.feature

+Target finished: update.feature

+Target started: all.children

+Target finished: all.children

+Task finished: antcall

+Task started: property

+Task finished: property

+Task started: delete

+Task finished: delete

+Task started: mkdir

+Task finished: mkdir

+Task started: antcall

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: gather.bin.parts

+Task started: antcall

+Target started: children

+Target finished: children

+Task finished: antcall

+Task started: mkdir

+Task finished: mkdir

+Task started: copy

+Task finished: copy

+Task started: eclipse.idReplacer

+Task finished: eclipse.idReplacer

+Task started: antcall

+Target started: ROOTFILES*_*_*

+Target finished: ROOTFILES*_*_*

+Task finished: antcall

+Target finished: gather.bin.parts

+Task finished: antcall

+Task started: jar

+Task finished: jar

+Task started: delete

+Task finished: delete

+Target finished: build.update.jar

+Task finished: ant

+Target finished: all.features

+Target started: all.plugins

+Target finished: all.plugins

+Target started: update.feature

+Target finished: update.feature

+Target started: all.children

+Target finished: all.children

+Task finished: antcall

+Task started: property

+Task finished: property

+Task started: delete

+Task finished: delete

+Task started: mkdir

+Task finished: mkdir

+Task started: antcall

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: gather.bin.parts

+Task started: antcall

+Target started: children

+Target finished: children

+Task finished: antcall

+Task started: mkdir

+Task finished: mkdir

+Task started: copy

+Task finished: copy

+Task started: eclipse.idReplacer

+Task finished: eclipse.idReplacer

+Task started: antcall

+Target started: ROOTFILES*_*_*

+Target finished: ROOTFILES*_*_*

+Task finished: antcall

+Target finished: gather.bin.parts

+Task finished: antcall

+Task started: jar

+Task finished: jar

+Task started: delete

+Task finished: delete

+Target finished: build.update.jar

 Target started: init

 Task started: property

 Task finished: property

@@ -226,7 +596,130 @@
 Task started: eclipse.convertPath

 Task finished: eclipse.convertPath

 Task started: eclipse.refreshLocal

-Message logged: Project ${update.feature3_1.0.0} does not exist and cannot be refreshed.

+Message logged: Project ${update.feature1c_3.0.0} does not exist and cannot be refreshed.

+Task finished: eclipse.refreshLocal

+Task started: antcall

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: all.features

+Task started: ant

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: refresh

+Task started: eclipse.convertPath

+Task finished: eclipse.convertPath

+Task started: eclipse.refreshLocal

+Message logged: Project ${update.feature1_1.0.0} does not exist and cannot be refreshed.

+Task finished: eclipse.refreshLocal

+Task started: antcall

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: all.features

+Target finished: all.features

+Target started: all.plugins

+Task started: ant

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: refresh

+Task started: eclipse.convertPath

+Task finished: eclipse.convertPath

+Task started: eclipse.refreshLocal

+Task finished: eclipse.refreshLocal

+Target finished: refresh

+Task finished: ant

+Target finished: all.plugins

+Target started: update.feature

+Target finished: update.feature

+Target started: all.children

+Target finished: all.children

+Task finished: antcall

+Target finished: refresh

+Task finished: ant

+Task started: ant

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: refresh

+Task started: eclipse.convertPath

+Task finished: eclipse.convertPath

+Task started: eclipse.refreshLocal

+Message logged: Project ${update.feature1_1.0.0} does not exist and cannot be refreshed.

+Task finished: eclipse.refreshLocal

+Task started: antcall

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: all.features

+Target finished: all.features

+Target started: all.plugins

+Task started: ant

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: refresh

+Task started: eclipse.convertPath

+Task finished: eclipse.convertPath

+Task started: eclipse.refreshLocal

+Task finished: eclipse.refreshLocal

+Target finished: refresh

+Task finished: ant

+Target finished: all.plugins

+Target started: update.feature

+Target finished: update.feature

+Target started: all.children

+Target finished: all.children

+Task finished: antcall

+Target finished: refresh

+Task finished: ant

+Task started: ant

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: refresh

+Task started: eclipse.convertPath

+Task finished: eclipse.convertPath

+Task started: eclipse.refreshLocal

+Message logged: Project ${update.feature1b_2.0.0} does not exist and cannot be refreshed.

 Task finished: eclipse.refreshLocal

 Task started: antcall

 Target started: init

@@ -285,4 +778,14 @@
 Target finished: all.children

 Task finished: antcall

 Target finished: refresh

+Task finished: ant

+Target finished: all.features

+Target started: all.plugins

+Target finished: all.plugins

+Target started: update.feature

+Target finished: update.feature

+Target started: all.children

+Target finished: all.children

+Task finished: antcall

+Target finished: refresh

 Build finished.

diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/.sitebuild/sitebuild.xml b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/.sitebuild/sitebuild.xml
index a8f65ae..47cb017 100644
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/.sitebuild/sitebuild.xml
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/.sitebuild/sitebuild.xml
@@ -3,14 +3,7 @@
       feature-location="features"
       plugin-location="plugins"
       autobuild="false"
-      scrub-output="true"
+      scrub-output="false"
       use-console="true">
-   <feature id="update.feature1" version="1.0.0"/>
-   <feature id="update.feature1" version="1.0.1"/>
-   <feature id="update.feature1b" version="2.0.0"/>
-   <feature id="update.feature2" version="1.0.0"/>
-   <feature id="update.feature2" version="1.0.1"/>
-   <feature id="update.feature2b" version="2.0.0"/>
-   <feature id="update.feature3" version="1.0.0"/>
-   <feature id="update.feature3" version="2.0.0"/>
+   <feature id="update.feature1c" version="3.0.0"/>
 </site-build>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1_1.0.0.jar
index fa4dc00..78d2f28 100644
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1_1.0.0.jar
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1_1.0.0.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1_1.0.1.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1_1.0.1.jar
new file mode 100644
index 0000000..eeb0b6f
--- /dev/null
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1_1.0.1.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1b_2.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1b_2.0.0.jar
index 4c99608..31b6bcb 100644
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1b_2.0.0.jar
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1b_2.0.0.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1c_3.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1c_3.0.0.jar
new file mode 100644
index 0000000..3753305
--- /dev/null
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1c_3.0.0.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature2_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature2_1.0.0.jar
deleted file mode 100644
index 32167b4..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature2_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature2b_2.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature2b_2.0.0.jar
deleted file mode 100644
index 40c322d..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature2b_2.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature3_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature3_1.0.0.jar
deleted file mode 100644
index 63e826e..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature3_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin1_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin1_1.0.0.jar
index d48f09b..3e0760f 100644
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin1_1.0.0.jar
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin1_1.0.0.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin1a_1.0.1.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin1a_1.0.1.jar
index 15c5831..634eb07 100644
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin1a_1.0.1.jar
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin1a_1.0.1.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin2_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin2_1.0.0.jar
deleted file mode 100644
index 5a150e9..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin2_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin2a_1.0.1.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin2a_1.0.1.jar
deleted file mode 100644
index 004c939..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin2a_1.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin3_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin3_1.0.0.jar
deleted file mode 100644
index cb127a4..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin3_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin4_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin4_1.0.0.jar
deleted file mode 100644
index 18842b8..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin4_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/site.xml b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/site.xml
index 95bb4ff..2c73cbe 100644
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/site.xml
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/site.xml
@@ -1,33 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <site>
-   <feature url="features/update.feature1_1.0.0.jar" id="update.feature1" version="1.0.0">
+   <feature url="features/update.feature1c_3.0.0.jar" id="update.feature1c" version="3.0.0">
       <category name="Site4-Category1"/>
    </feature>
-   <feature url="features/update.feature1_1.0.1.jar" id="update.feature1" version="1.0.1">
-      <category name="Site4-Category1"/>
-   </feature>
-   <feature url="features/update.feature1b_2.0.0.jar" id="update.feature1b" version="2.0.0">
-      <category name="Site4-Category2"/>
-   </feature>
-   <feature url="features/update.feature3_1.0.0.jar" id="update.feature3" version="1.0.0">
-      <category name="Site4-Category3"/>
-   </feature>
-   <feature url="features/update.feature3_2.0.0.jar" id="update.feature3" version="2.0.0">
-      <category name="Site4-Category3"/>
-   </feature>
    <category-def name="Site4-Category1" label="Site4-Category1-Label">
       <description>
          ecetera.
       </description>
    </category-def>
-   <category-def name="Site4-Category2" label="Site4-Category2-Label">
-      <description>
-         ecetera.
-      </description>
-   </category-def>
-   <category-def name="Site4-Category3" label="Site4-Category3-Label">
-      <description>
-         ecetera.
-      </description>
-   </category-def>
 </site>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/.project b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/.project
new file mode 100644
index 0000000..0a93302
--- /dev/null
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>update-site5</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.UpdateSiteBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.UpdateSiteNature</nature>
+	</natures>
+</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/.sitebuild/build.log b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/.sitebuild/build.log
new file mode 100644
index 0000000..db44faa
--- /dev/null
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/.sitebuild/build.log
@@ -0,0 +1,791 @@
+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: build.update.jar

+Task started: antcall

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: all.features

+Task started: ant

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: build.update.jar

+Task started: antcall

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: all.features

+Target finished: all.features

+Target started: all.plugins

+Task started: ant

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: build.update.jar

+Task started: delete

+Task finished: delete

+Task started: mkdir

+Task finished: mkdir

+Task started: antcall

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: build.jars

+Task started: available

+Task finished: available

+Task started: antcall

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: plugin2.jar

+Task started: delete

+Task finished: delete

+Task started: mkdir

+Task finished: mkdir

+Task started: javac

+Message logged: Compile failed; see the compiler error output for details.

+Task finished: javac

+Task started: copy

+Task finished: copy

+Task started: mkdir

+Task finished: mkdir

+Task started: jar

+Task finished: jar

+Task started: delete

+Task finished: delete

+Target finished: plugin2.jar

+Task finished: antcall

+Target finished: build.jars

+Task finished: antcall

+Task started: antcall

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: gather.bin.parts

+Task started: mkdir

+Task finished: mkdir

+Task started: copy

+Task finished: copy

+Task started: copy

+Task finished: copy

+Target finished: gather.bin.parts

+Task finished: antcall

+Task started: zip

+Task finished: zip

+Task started: delete

+Task finished: delete

+Target finished: build.update.jar

+Task finished: ant

+Target finished: all.plugins

+Target started: update.feature

+Target finished: update.feature

+Target started: all.children

+Target finished: all.children

+Task finished: antcall

+Task started: property

+Task finished: property

+Task started: delete

+Task finished: delete

+Task started: mkdir

+Task finished: mkdir

+Task started: antcall

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: gather.bin.parts

+Task started: antcall

+Target started: children

+Target finished: children

+Task finished: antcall

+Task started: mkdir

+Task finished: mkdir

+Task started: copy

+Task finished: copy

+Task started: eclipse.idReplacer

+Task finished: eclipse.idReplacer

+Task started: antcall

+Target started: ROOTFILES*_*_*

+Target finished: ROOTFILES*_*_*

+Task finished: antcall

+Target finished: gather.bin.parts

+Task finished: antcall

+Task started: jar

+Task finished: jar

+Task started: delete

+Task finished: delete

+Target finished: build.update.jar

+Task finished: ant

+Task started: ant

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: build.update.jar

+Task started: antcall

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: all.features

+Target finished: all.features

+Target started: all.plugins

+Task started: ant

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: build.update.jar

+Task started: delete

+Task finished: delete

+Task started: mkdir

+Task finished: mkdir

+Task started: antcall

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: build.jars

+Task started: available

+Task finished: available

+Task started: antcall

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: plugin2.jar

+Target finished: plugin2.jar

+Task finished: antcall

+Target finished: build.jars

+Task finished: antcall

+Task started: antcall

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: gather.bin.parts

+Task started: mkdir

+Task finished: mkdir

+Task started: copy

+Task finished: copy

+Task started: copy

+Task finished: copy

+Target finished: gather.bin.parts

+Task finished: antcall

+Task started: zip

+Task finished: zip

+Task started: delete

+Task finished: delete

+Target finished: build.update.jar

+Task finished: ant

+Target finished: all.plugins

+Target started: update.feature

+Target finished: update.feature

+Target started: all.children

+Target finished: all.children

+Task finished: antcall

+Task started: property

+Task finished: property

+Task started: delete

+Task finished: delete

+Task started: mkdir

+Task finished: mkdir

+Task started: antcall

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: gather.bin.parts

+Task started: antcall

+Target started: children

+Target finished: children

+Task finished: antcall

+Task started: mkdir

+Task finished: mkdir

+Task started: copy

+Task finished: copy

+Task started: eclipse.idReplacer

+Task finished: eclipse.idReplacer

+Task started: antcall

+Target started: ROOTFILES*_*_*

+Target finished: ROOTFILES*_*_*

+Task finished: antcall

+Target finished: gather.bin.parts

+Task finished: antcall

+Task started: jar

+Task finished: jar

+Task started: delete

+Task finished: delete

+Target finished: build.update.jar

+Task finished: ant

+Task started: ant

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: build.update.jar

+Task started: antcall

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: all.features

+Target finished: all.features

+Target started: all.plugins

+Task started: ant

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: build.update.jar

+Task started: delete

+Task finished: delete

+Task started: mkdir

+Task finished: mkdir

+Task started: antcall

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: build.jars

+Task started: available

+Task finished: available

+Task started: antcall

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: plugin2a.jar

+Task started: delete

+Task finished: delete

+Task started: mkdir

+Task finished: mkdir

+Task started: javac

+Message logged: Compile failed; see the compiler error output for details.

+Task finished: javac

+Task started: copy

+Task finished: copy

+Task started: mkdir

+Task finished: mkdir

+Task started: jar

+Task finished: jar

+Task started: delete

+Task finished: delete

+Target finished: plugin2a.jar

+Task finished: antcall

+Target finished: build.jars

+Task finished: antcall

+Task started: antcall

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: gather.bin.parts

+Task started: mkdir

+Task finished: mkdir

+Task started: copy

+Task finished: copy

+Task started: copy

+Task finished: copy

+Target finished: gather.bin.parts

+Task finished: antcall

+Task started: zip

+Task finished: zip

+Task started: delete

+Task finished: delete

+Target finished: build.update.jar

+Task finished: ant

+Task started: ant

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: build.update.jar

+Task started: delete

+Task finished: delete

+Task started: mkdir

+Task finished: mkdir

+Task started: antcall

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: build.jars

+Task started: available

+Task finished: available

+Task started: antcall

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: plugin2.jar

+Target finished: plugin2.jar

+Task finished: antcall

+Target finished: build.jars

+Task finished: antcall

+Task started: antcall

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: gather.bin.parts

+Task started: mkdir

+Task finished: mkdir

+Task started: copy

+Task finished: copy

+Task started: copy

+Task finished: copy

+Target finished: gather.bin.parts

+Task finished: antcall

+Task started: zip

+Task finished: zip

+Task started: delete

+Task finished: delete

+Target finished: build.update.jar

+Task finished: ant

+Target finished: all.plugins

+Target started: update.feature

+Target finished: update.feature

+Target started: all.children

+Target finished: all.children

+Task finished: antcall

+Task started: property

+Task finished: property

+Task started: delete

+Task finished: delete

+Task started: mkdir

+Task finished: mkdir

+Task started: antcall

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: gather.bin.parts

+Task started: antcall

+Target started: children

+Target finished: children

+Task finished: antcall

+Task started: mkdir

+Task finished: mkdir

+Task started: copy

+Task finished: copy

+Task started: eclipse.idReplacer

+Task finished: eclipse.idReplacer

+Task started: antcall

+Target started: ROOTFILES*_*_*

+Target finished: ROOTFILES*_*_*

+Task finished: antcall

+Target finished: gather.bin.parts

+Task finished: antcall

+Task started: jar

+Task finished: jar

+Task started: delete

+Task finished: delete

+Target finished: build.update.jar

+Task finished: ant

+Target finished: all.features

+Target started: all.plugins

+Target finished: all.plugins

+Target started: update.feature

+Target finished: update.feature

+Target started: all.children

+Target finished: all.children

+Task finished: antcall

+Task started: property

+Task finished: property

+Task started: delete

+Task finished: delete

+Task started: mkdir

+Task finished: mkdir

+Task started: antcall

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: gather.bin.parts

+Task started: antcall

+Target started: children

+Target finished: children

+Task finished: antcall

+Task started: mkdir

+Task finished: mkdir

+Task started: copy

+Task finished: copy

+Task started: eclipse.idReplacer

+Task finished: eclipse.idReplacer

+Task started: antcall

+Target started: ROOTFILES*_*_*

+Target finished: ROOTFILES*_*_*

+Task finished: antcall

+Target finished: gather.bin.parts

+Task finished: antcall

+Task started: jar

+Task finished: jar

+Task started: delete

+Task finished: delete

+Target finished: build.update.jar

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: refresh

+Task started: eclipse.convertPath

+Task finished: eclipse.convertPath

+Task started: eclipse.refreshLocal

+Message logged: Project ${update.feature2c_3.0.0} does not exist and cannot be refreshed.

+Task finished: eclipse.refreshLocal

+Task started: antcall

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: all.features

+Task started: ant

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: refresh

+Task started: eclipse.convertPath

+Task finished: eclipse.convertPath

+Task started: eclipse.refreshLocal

+Message logged: Project ${update.feature2_1.0.0} does not exist and cannot be refreshed.

+Task finished: eclipse.refreshLocal

+Task started: antcall

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: all.features

+Target finished: all.features

+Target started: all.plugins

+Task started: ant

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: refresh

+Task started: eclipse.convertPath

+Task finished: eclipse.convertPath

+Task started: eclipse.refreshLocal

+Task finished: eclipse.refreshLocal

+Target finished: refresh

+Task finished: ant

+Target finished: all.plugins

+Target started: update.feature

+Target finished: update.feature

+Target started: all.children

+Target finished: all.children

+Task finished: antcall

+Target finished: refresh

+Task finished: ant

+Task started: ant

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: refresh

+Task started: eclipse.convertPath

+Task finished: eclipse.convertPath

+Task started: eclipse.refreshLocal

+Message logged: Project ${update.feature2_1.0.0} does not exist and cannot be refreshed.

+Task finished: eclipse.refreshLocal

+Task started: antcall

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: all.features

+Target finished: all.features

+Target started: all.plugins

+Task started: ant

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: refresh

+Task started: eclipse.convertPath

+Task finished: eclipse.convertPath

+Task started: eclipse.refreshLocal

+Task finished: eclipse.refreshLocal

+Target finished: refresh

+Task finished: ant

+Target finished: all.plugins

+Target started: update.feature

+Target finished: update.feature

+Target started: all.children

+Target finished: all.children

+Task finished: antcall

+Target finished: refresh

+Task finished: ant

+Task started: ant

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: refresh

+Task started: eclipse.convertPath

+Task finished: eclipse.convertPath

+Task started: eclipse.refreshLocal

+Message logged: Project ${update.feature2b_2.0.0} does not exist and cannot be refreshed.

+Task finished: eclipse.refreshLocal

+Task started: antcall

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: all.features

+Target finished: all.features

+Target started: all.plugins

+Task started: ant

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: refresh

+Task started: eclipse.convertPath

+Task finished: eclipse.convertPath

+Task started: eclipse.refreshLocal

+Task finished: eclipse.refreshLocal

+Target finished: refresh

+Task finished: ant

+Task started: ant

+Target started: properties

+Task started: property

+Task finished: property

+Target finished: properties

+Target started: init

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Task started: property

+Task finished: property

+Target finished: init

+Target started: refresh

+Task started: eclipse.convertPath

+Task finished: eclipse.convertPath

+Task started: eclipse.refreshLocal

+Task finished: eclipse.refreshLocal

+Target finished: refresh

+Task finished: ant

+Target finished: all.plugins

+Target started: update.feature

+Target finished: update.feature

+Target started: all.children

+Target finished: all.children

+Task finished: antcall

+Target finished: refresh

+Task finished: ant

+Target finished: all.features

+Target started: all.plugins

+Target finished: all.plugins

+Target started: update.feature

+Target finished: update.feature

+Target started: all.children

+Target finished: all.children

+Task finished: antcall

+Target finished: refresh

+Build finished.

diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/.sitebuild/sitebuild.xml b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/.sitebuild/sitebuild.xml
new file mode 100644
index 0000000..49243d3
--- /dev/null
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/.sitebuild/sitebuild.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<site-build
+      feature-location="features"
+      plugin-location="plugins"
+      autobuild="false"
+      scrub-output="false"
+      use-console="true">
+   <feature id="update.feature1c" version="3.0.0"/>
+   <feature id="update.feature2c" version="3.0.0"/>
+</site-build>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1_1.0.0.jar
new file mode 100644
index 0000000..152d9e2
--- /dev/null
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1_1.0.0.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1_1.0.1.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1_1.0.1.jar
new file mode 100644
index 0000000..eeb0b6f
--- /dev/null
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1_1.0.1.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1b_2.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1b_2.0.0.jar
new file mode 100644
index 0000000..49b0764
--- /dev/null
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1b_2.0.0.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1c_3.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1c_3.0.0.jar
new file mode 100644
index 0000000..d426f86
--- /dev/null
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1c_3.0.0.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2_1.0.0.jar
new file mode 100644
index 0000000..b070ccd
--- /dev/null
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2_1.0.0.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2b_2.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2b_2.0.0.jar
new file mode 100644
index 0000000..e48ac05
--- /dev/null
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2b_2.0.0.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2c_3.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2c_3.0.0.jar
new file mode 100644
index 0000000..00037df
--- /dev/null
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2c_3.0.0.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin1_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin1_1.0.0.jar
new file mode 100644
index 0000000..3543749
--- /dev/null
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin1_1.0.0.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin1a_1.0.1.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin1a_1.0.1.jar
new file mode 100644
index 0000000..632cc3f
--- /dev/null
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin1a_1.0.1.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin2_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin2_1.0.0.jar
new file mode 100644
index 0000000..dbc8a88
--- /dev/null
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin2_1.0.0.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin2a_1.0.1.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin2a_1.0.1.jar
new file mode 100644
index 0000000..a3cd0fb
--- /dev/null
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin2a_1.0.1.jar
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/site.xml b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/site.xml
new file mode 100644
index 0000000..6e26db1
--- /dev/null
+++ b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/site.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<site>
+   <feature url="features/update.feature1c_3.0.0.jar" id="update.feature1c" version="3.0.0">
+      <category name="Site5-Category1"/>
+   </feature>
+   <feature url="features/update.feature2c_3.0.0.jar" id="update.feature2c" version="3.0.0">
+      <category name="Site5-Category2"/>
+   </feature>
+   <category-def name="Site5-Category1" label="Site5-Category1-Label">
+      <description>
+         ecetera.
+      </description>
+   </category-def>
+   <category-def name="Site5-Category2" label="Site5-Category2-Label">
+      <description>
+         ecetera.
+      </description>
+   </category-def>
+</site>
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/MirrorManagerTestCase.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/MirrorManagerTestCase.java
index ada6251..20689d7 100644
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/MirrorManagerTestCase.java
+++ b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/MirrorManagerTestCase.java
@@ -148,6 +148,7 @@
 		final String FLAG_TO = "-to";
 		final String FLAG_URL = "-mirrorURL";
 		final String FLAG_SPLASH = "-nosplash";
+		final String FLAG_CONSOLELOG = "-consolelog";
 		final String data =
 			UpdateCore.getPlugin().getStateLocation().toOSString();
 		String[] cmd =
@@ -172,7 +173,8 @@
 				(mirUrl != null ? mirUrl : ""),
 				FLAG_SPLASH,
 				FLAG_DATA,
-				data };
+				data,
+				FLAG_CONSOLELOG};
 		return cmd;
 	}
 	
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteDoubleEmbeddedFeatureMirror.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteDoubleEmbeddedFeatureMirror.java
index 8943e6f..e4cad27 100644
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteDoubleEmbeddedFeatureMirror.java
+++ b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteDoubleEmbeddedFeatureMirror.java
@@ -26,8 +26,8 @@
 	}
 
 	public void umSetUp() {
-		String featureId = "update.feature1b";
-		String version = "2.0.0";
+		String featureId = "update.feature1c";
+		String version = "3.0.0";
 		String toLocalSiteUrl =
 			UpdateTestsPlugin.getPlugin().getStateLocation()
 				+ "/temp/testRemoteDoubleEmbeddedFeatureMirror";
@@ -46,7 +46,7 @@
 		fromRemoteSiteUrl =
 			"file:"
 			+ dataPath
-			+ "mirrors/update-site3";
+			+ "mirrors/update-site5";
 			exitValue =
 				performMirror(
 					getCommand(fromRemoteSiteUrl,toLocalSiteUrl, featureId, version, mirrorURL));
@@ -58,15 +58,15 @@
 	public void testFeatureCategories() throws Exception{
 		String fromRemoteSiteUrl =
 		        dataPath
-				+ "mirrors/update-site3";
+				+ "mirrors/update-site5";
 		String toLocalSiteUrl =
 			UpdateTestsPlugin.getPlugin().getStateLocation()
 				+ "/temp/testRemoteDoubleEmbeddedFeatureMirror";
 		FeatureCategory[] mirrorFeatures = getFeatureCategories(toLocalSiteUrl);
 		FeatureCategory[] required = new FeatureCategory[1];
 		required[0] = new FeatureCategory();
-		required[0].setFeatureID("update.feature1b");
-		required[0].addCategory("Site3-Category1");
+		required[0].setFeatureID("update.feature1c");
+		required[0].addCategory("Site5-Category1");
 		assertTrue(checkFeatureCategoriesContained(required, mirrorFeatures));
 	}
 	
@@ -88,8 +88,8 @@
 		String toLocalSiteUrl =
 			UpdateTestsPlugin.getPlugin().getStateLocation()
 				+ "/temp/testRemoteDoubleEmbeddedFeatureMirror";
-		String featureId = "update.feature1b";
-		String version = "2.0.0";
+		String featureId = "update.feature1c";
+		String version = "3.0.0";
 		assertTrue(
 			checkFeatureInSiteXMLExists(toLocalSiteUrl, featureId, version));
 	}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteEmbeddedFeatureMirror.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteEmbeddedFeatureMirror.java
index 526e1b8..86ea260 100644
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteEmbeddedFeatureMirror.java
+++ b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteEmbeddedFeatureMirror.java
@@ -26,8 +26,8 @@
 	}
 
 	public void umSetUp() {
-		String featureId = "update.feature1b";
-		String version = "2.0.0";
+		String featureId = "update.feature1c";
+		String version = "3.0.0";
 		String toLocalSiteUrl =
 			UpdateTestsPlugin.getPlugin().getStateLocation()
 				+ "/temp/testRemoteEmbeddedFeatureMirror";
@@ -35,7 +35,7 @@
 		String fromRemoteSiteUrl =
 				"file:"
 				+ dataPath
-				+ "mirrors/update-site3";
+				+ "mirrors/update-site4";
 		if (!isMirrored) {
 			exitValue =
 				performMirror(
@@ -61,8 +61,8 @@
 		String toLocalSiteUrl =
 			UpdateTestsPlugin.getPlugin().getStateLocation()
 				+ "/temp/testRemoteEmbeddedFeatureMirror";
-		String featureId = "update.feature1b";
-		String version = "2.0.0";
+		String featureId = "update.feature1c";
+		String version = "3.0.0";
 		assertTrue(
 			checkFeatureInSiteXMLExists(toLocalSiteUrl, featureId, version));
 	}
@@ -97,7 +97,7 @@
 		String toLocalSiteUrl =
 			UpdateTestsPlugin.getPlugin().getStateLocation()
 				+ "/temp/testRemoteEmbeddedFeatureMirror";
-		String[] featureJars = { "update.feature1b_2.0.0.jar" };
+		String[] featureJars = { "update.feature1_1.0.0.jar", "update.feature1_1.0.1.jar", "update.feature1b_2.0.0.jar", "update.feature1c_3.0.0.jar" };
 		assertTrue(checkAllFeatureJars(toLocalSiteUrl, featureJars));
 	}
 
@@ -178,7 +178,7 @@
 				+ "/temp/testRemoteEmbeddedFeatureMirror";
 		String fromRemoteSiteUrl =
 		        dataPath
-				+ "mirrors/update-site3";
+				+ "mirrors/update-site4";
 		CategoryDefinition[] localDefs = getCategoryDefinitions(toLocalSiteUrl);
 		CategoryDefinition[] remoteDefs = getCategoryDefinitions(fromRemoteSiteUrl);
 		assertTrue(checkCategoryDefinitionsContained(localDefs, remoteDefs));