diff --git a/src/de/mrapp/android/preference/activity/PreferenceFragment.java b/src/de/mrapp/android/preference/activity/PreferenceFragment.java
index <HASH>..<HASH> 100644
--- a/src/de/mrapp/android/preference/activity/PreferenceFragment.java
+++ b/src/de/mrapp/android/preference/activity/PreferenceFragment.java
@@ -255,7 +255,7 @@ public abstract class PreferenceFragment extends
 			final Object oldValue, final Object newValue) {
 		for (RestoreDefaultsListener listener : restoreDefaultsListeners) {
 			listener.onRestoredDefaultValue(this, preference, oldValue,
-					newValue);
+					newValue != null ? newValue : oldValue);
 		}
 	}
Bugfix #3: The new value, which is passed to a listener, is not null anymore, when restoring the default value has not changed the value.