diff --git a/policy/modules/contrib/gnome.if b/policy/modules/contrib/gnome.if
index 118ee01..246e0ed 100644
--- a/policy/modules/contrib/gnome.if
+++ b/policy/modules/contrib/gnome.if
@@ -115,6 +115,12 @@ template(`gnome_role_template',`
 			gnome_dbus_chat_gkeyringd($1, $3)
 		')
 	')
+
+	ifdef(`gentoo_policy',`
+		optional_policy(`
+			gnome_dbus_chat_gconfd($1, $3)
+		')
+	')
 ')
 
 ########################################
@@ -604,6 +610,54 @@ interface(`gnome_gconf_home_filetrans',`
 
 ########################################
 ## <summary>
+##	Send and receive messages from
+##	gconf daemon over dbus.
+## </summary>
+## <param name="role_prefix">
+##	<summary>
+##	The prefix of the user domain (e.g., user
+##	is the prefix for user_t).
+##	</summary>
+## </param>
+## <param name="domain">
+##	<summary>
+##	Domain allowed access.
+##	</summary>
+## </param>
+#
+interface(`gnome_dbus_chat_gconfd',`
+	gen_require(`
+		type $1_gconfd_t;
+		class dbus send_msg;
+	')
+
+	allow $2 $1_gconfd_t:dbus send_msg;
+	allow $1_gconfd_t $2:dbus send_msg;
+')
+
+########################################
+## <summary>
+##	Send and receive messages from all
+##	gconf daemon over dbus.
+## </summary>
+## <param name="domain">
+##	<summary>
+##	Domain allowed access.
+##	</summary>
+## </param>
+#
+interface(`gnome_dbus_chat_all_gconfd',`
+	gen_require(`
+		type gconfd_t;
+		class dbus send_msg;
+	')
+
+	allow $1 gconfd_t:dbus send_msg;
+	allow gconfd_t $1:dbus send_msg;
+')
+
+########################################
+## <summary>
 ##	Read generic gnome keyring home files.
 ## </summary>
 ## <param name="domain">