*** empty log message ***
diff --git a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/PDEState.java b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/PDEState.java
index ba9305d..f1f6476 100644
--- a/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/PDEState.java
+++ b/ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/PDEState.java
@@ -136,7 +136,7 @@
 	protected void addAuxiliaryData(BundleDescription desc, Dictionary manifest, boolean hasBundleStructure) {
 		fAuxiliaryState.addAuxiliaryData(desc, manifest, hasBundleStructure);
 	}
-	
+
 	public IPluginModelBase[] createTargetModels(BundleDescription[] bundleDescriptions) {
 		HashMap models = new HashMap((4/3) * bundleDescriptions.length + 1); 
 		for (int i = 0; i < bundleDescriptions.length; i++) {
@@ -434,6 +434,9 @@
 		saveState(dir);
 		fExtensionRegistry.saveExtensions(fState, dir);
 		
+		// resolve state - same steps as when populating a new State
+		resolveState(false);
+		
 		return (BundleDescription[]) descriptions.toArray(new BundleDescription[descriptions.size()]);
 	}
 
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/preferences/TargetPluginsTab.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/preferences/TargetPluginsTab.java
index 2d2ec54..78a67f4 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/preferences/TargetPluginsTab.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/preferences/TargetPluginsTab.java
@@ -28,7 +28,6 @@
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
 import org.eclipse.core.runtime.Preferences;
 import org.eclipse.core.runtime.SubProgressMonitor;
 import org.eclipse.jdt.core.IJavaProject;
@@ -654,8 +653,6 @@
 			public void run() {
 				savePreferences();
 				if (fReloaded) {
-//					if (fCurrentState.getState().getResolver() == null) 
-//						fCurrentState.getState().setResolver(Platform.getPlatformAdmin().getResolver());
 					EclipseHomeInitializer.resetEclipseHomeVariable();
 					IPluginModelBase[] models = PDECore.getDefault().getModelManager().getWorkspaceModels();
 					for (int i = 0; i < models.length; i++) {
@@ -934,27 +931,12 @@
 			checkedPlugins = fPluginListViewer.getCheckedElements();
 			createCopyState();
 		}
-//		ArrayList descriptions = new ArrayList(dirs.length);
-//		for (int i = 0; i < pluginLocs.length; i++) {
-//			File file = new File(pluginLocs[i].getFile());
-//			try {
-//				descriptions.add(fCurrentState.addBundle(file, -1));
-//			} catch (PluginConversionException e) {
-//			} catch (CoreException e) {
-//			} catch (IOException e) {
-//				PDECore.log(new Status(IStatus.ERROR, PDECore.PLUGIN_ID, IStatus.ERROR,
-//						"Invalid manifest format at " + file.getAbsolutePath(), //$NON-NLS-1$
-//						null)); 
-//			}
-//		}
-//		fCurrentState.sgave();
 		BundleDescription[] descriptions = fCurrentState.addAdditionalBundles(pluginLocs);
 		addNewBundles(descriptions, checkedPlugins);
 	}
 	
 	private void createCopyState() {
 		fCurrentState = new PDEState(PDECore.getDefault().getModelManager().getState());
-		fCurrentState.getState().setResolver(Platform.getPlatformAdmin().getResolver());
 		IPluginModelBase[] bases = fCurrentState.getTargetModels();
 		for (int j = 0; j < bases.length; j++) {
 			long bundleId = bases[j].getBundleDescription().getBundleId();
@@ -965,7 +947,6 @@
 	
 	private void addNewBundles(BundleDescription[] descriptions, Object[] checkedPlugins) {
 		if (descriptions.length > 0) {
-			fCurrentState.getState().resolve(false);
 			IPluginModelBase[] models = fCurrentState.createTargetModels(descriptions);
 			// add new models to tree viewer
 			Set parents = initializeTreeContents(models);
@@ -976,7 +957,6 @@
 			if (checkedPlugins == null) {
 				for (int i = 0; i < models.length; i++) {
 					fPluginListViewer.setChecked(models[i], true);
-					// TODO - trying to only call setSubTreeChecked if we can find all the directories???
 					fPluginTreeViewer.setChecked(models[i], true);
 				}
 			} else {