*** empty log message ***
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/launcher/EquinoxPluginBlock.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/launcher/EquinoxPluginBlock.java
index 46af727..fe2efd6 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/launcher/EquinoxPluginBlock.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/launcher/EquinoxPluginBlock.java
@@ -22,6 +22,7 @@
 import org.eclipse.jface.viewers.ILabelProvider;
 import org.eclipse.pde.core.plugin.IPluginModelBase;
 import org.eclipse.pde.internal.ui.PDELabelProvider;
+import org.eclipse.pde.internal.ui.elements.NamedElement;
 import org.eclipse.pde.ui.launcher.EquinoxPluginsTab;
 import org.eclipse.pde.ui.launcher.IPDELauncherConstants;
 import org.eclipse.swt.SWT;
@@ -118,11 +119,13 @@
 				spinner.setSelection(level);
 				spinner.addModifyListener(new ModifyListener() {
 					public void modifyText(ModifyEvent e) {
-						int selection = spinner.getSelection();
-						item.setText(1, defaultLevel == selection 
-											? "default" 
-											: Integer.toString(selection));
-						fTab.updateLaunchConfigurationDialog();
+						if (item.getChecked()) {
+							int selection = spinner.getSelection();
+							item.setText(1, defaultLevel == selection 
+												? "default" 
+												: Integer.toString(selection));
+							fTab.updateLaunchConfigurationDialog();
+						}
 					}
 				});
 				editor1.setEditor(spinner, item, 1);
@@ -133,8 +136,10 @@
 				combo.pack();
 				combo.addSelectionListener(new SelectionAdapter() {
 					public void widgetSelected(SelectionEvent e) {
-						item.setText(2, combo.getText());
-						fTab.updateLaunchConfigurationDialog();
+						if (item.getChecked()) {
+							item.setText(2, combo.getText());
+							fTab.updateLaunchConfigurationDialog();
+						}
 					}
 				});
 				editor2.setEditor(combo, item, 2);
@@ -239,11 +244,25 @@
 				}
 			}
 		}
+		
+		resetGroup(fExternalPlugins);
 		fPluginTreeViewer.setChecked(fExternalPlugins, fNumExternalChecked > 0);
 		fPluginTreeViewer.setGrayed(fExternalPlugins, fNumExternalChecked > 0
 				&& fNumExternalChecked < fExternalModels.length);
 	}
 
+	private void resetGroup(NamedElement group) {
+		Widget widget = fPluginTreeViewer.testFindItem(group);
+		if (widget instanceof TreeItem) {
+			TreeItem[] items = ((TreeItem)widget).getItems();
+			for (int i = 0; i < items.length; i++) {
+				if (!items[i].getChecked()) {
+					resetText(items[i]);
+				}
+			}
+		}
+	}
+
 	private void initWorkspacePluginsState(ILaunchConfiguration configuration)
 			throws CoreException {
 		fNumWorkspaceChecked = 0;
@@ -269,6 +288,8 @@
 				}
 			}
 		}
+		
+		resetGroup(fWorkspacePlugins);
 
 		fPluginTreeViewer.setChecked(fWorkspacePlugins, fNumWorkspaceChecked > 0);
 		fPluginTreeViewer.setGrayed(
@@ -284,7 +305,7 @@
 			for (int i = 0; i < items.length; i++) {
 				resetText(items[i]);
 			}
-		}
+		}		
 	}
 	
 	protected void handleCheckStateChanged(CheckStateChangedEvent event) {