2545080
--- plugins/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/buildpath/P2Utils.java
2545080
+++ plugins/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/buildpath/P2Utils.java
2545080
@@ -90,6 +90,21 @@ class P2Utils {
2545080
 		try {
2545080
 			URL bundlesTxt= new URL(bundlesLocationURL.getProtocol(), bundlesLocationURL.getHost(), new File(bundlesLocationURL.getFile(), bundleInfoPath).getAbsolutePath());
2545080
 			BundleInfo bundles[]= getBundlesFromFile(bundlesLocationURL, bundlesTxt);
2545080
+			if (useConfigArea) {
2545080
+				// the config area may have relative URLs that should be
2545080
+				// resolved to the install location.
2545080
+				URL installLocationURL = Platform.getInstallLocation().getURL();
2545080
+				BundleInfo installBundles[]= getBundlesFromFile(installLocationURL, bundlesTxt);
2545080
+				if (bundles == null || bundles.length == 0) {
2545080
+					bundles = installBundles;
2545080
+				}
2545080
+				else if (installBundles != null && installBundles.length > 0) {
2545080
+					BundleInfo mergedBundles[] = new BundleInfo[bundles.length + installBundles.length];
2545080
+					System.arraycopy(bundles, 0, mergedBundles, 0, bundles.length);
2545080
+					System.arraycopy(installBundles, 0, mergedBundles, bundles.length, installBundles.length);
2545080
+					bundles = mergedBundles;
2545080
+				}
2545080
+			}
2545080
 			if (bundles == null || bundles.length == 0) {
2545080
 				return null;
2545080
 			}