diff -r 06a22aed06d1 -r cf79383bbfaf jdk/src/macosx/classes/java/util/prefs/MacOSXPreferences.java --- a/jdk/src/macosx/classes/java/util/prefs/MacOSXPreferences.java Wed Apr 25 12:31:31 2012 -0700 +++ b/jdk/src/macosx/classes/java/util/prefs/MacOSXPreferences.java Thu Apr 26 12:04:29 2012 -0700 @@ -231,8 +231,14 @@ if (isRemoved()) throw new IllegalStateException("Node has been removed"); // fixme! overkill - if (!MacOSXPreferencesFile.syncWorld()) { - throw new BackingStoreException("Synchronization failed for node '" + path + "'"); + if (isUser) { + if (!MacOSXPreferencesFile.syncUser()) { + throw new BackingStoreException("Synchronization failed for node '" + path + "'"); + } + } else { + if (!MacOSXPreferencesFile.syncWorld()) { + throw new BackingStoreException("Synchronization failed for node '" + path + "'"); + } } } }