diff --git a/gsettings/gconfsettingsbackend.c b/gsettings/gconfsettingsbackend.c
index e76a3a3..7f0fba6 100644
--- a/gsettings/gconfsettingsbackend.c
+++ b/gsettings/gconfsettingsbackend.c
@@ -805,6 +805,12 @@ gconf_settings_backend_get_writable (GSettingsBackend *backend,
   if (name[strlen(name) - 1] == '/')
     return FALSE;
 
+  value = gconf_client_get (gconf->priv->client, name, NULL);
+  if (value == NULL)
+    return TRUE;
+  else
+    gconf_value_free (value);
+
   return gconf_client_key_is_writable (gconf->priv->client, name, NULL);
 }
 
