Bug 387898 - Wrong preference node created when starting
org.eclipse.jdt.debug.ui plugin
diff --git a/bundles/org.eclipse.equinox.preferences/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.preferences/META-INF/MANIFEST.MF
index 2d704ff..a626155 100644
--- a/bundles/org.eclipse.equinox.preferences/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.preferences/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.equinox.preferences; singleton:=true
-Bundle-Version: 3.5.0.qualifier
+Bundle-Version: 3.5.100.qualifier
 Bundle-Activator: org.eclipse.core.internal.preferences.Activator
 Bundle-Vendor: %providerName
 Bundle-Localization: plugin
diff --git a/bundles/org.eclipse.equinox.preferences/pom.xml b/bundles/org.eclipse.equinox.preferences/pom.xml
index e5c2c80..d2806b1 100644
--- a/bundles/org.eclipse.equinox.preferences/pom.xml
+++ b/bundles/org.eclipse.equinox.preferences/pom.xml
@@ -22,6 +22,6 @@
   </parent>
   <groupId>org.eclipse.equinox.bundles</groupId>
   <artifactId>org.eclipse.equinox.preferences</artifactId>
-  <version>3.5.0-SNAPSHOT</version>
+  <version>3.5.100-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.equinox.preferences/src/org/eclipse/core/internal/preferences/PreferencesService.java b/bundles/org.eclipse.equinox.preferences/src/org/eclipse/core/internal/preferences/PreferencesService.java
index f6bc34c..0c66b2a 100644
--- a/bundles/org.eclipse.equinox.preferences/src/org/eclipse/core/internal/preferences/PreferencesService.java
+++ b/bundles/org.eclipse.equinox.preferences/src/org/eclipse/core/internal/preferences/PreferencesService.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2004, 2011 IBM Corporation and others.
+ * Copyright (c) 2004, 2012 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -613,19 +613,21 @@
 							Preferences node = context.getNode(qualifier);
 							if (node != null) {
 								found = true;
-								if (childPath != null)
+								if (childPath != null && node.nodeExists(childPath))
 									node = node.node(childPath);
 								result.add(node);
 							}
 						}
 					}
 					if (!found) {
-						Preferences node = getRootNode().node(scopeString).node(qualifier);
-						if (childPath != null)
-							node = node.node(childPath);
-						result.add(node);
+						Preferences node = getRootNode().node(scopeString);
+						if (node.nodeExists(qualifier)) {
+							node = node.node(qualifier);
+							if (childPath != null && node.nodeExists(childPath))
+								node = node.node(childPath);
+							result.add(node);
+						}
 					}
-					found = false;
 				}
 
 				public void handleException(Throwable exception) {