diff --git a/gedit/dialogs/gedit-preferences-dialog.c b/gedit/dialogs/gedit-preferences-dialog.c
index ec1e3f7..85be604 100644
--- a/gedit/dialogs/gedit-preferences-dialog.c
+++ b/gedit/dialogs/gedit-preferences-dialog.c
@@ -80,9 +80,9 @@ struct _GeditPreferencesDialogPrivate
 	GtkWidget	*notebook;
 
 	/* Font */
-	GtkWidget	*default_font_checkbutton;
-	GtkWidget	*font_button;
-	GtkWidget	*font_hbox;
+	GtkWidget	*default_font_radiobutton;
+	GtkWidget	*custom_font_radiobutton;
+	GtkWidget	*custom_font_button;
 
 	/* Style Scheme */
 	GtkListStore	*schemes_treeview_model;
@@ -406,7 +406,7 @@ on_use_default_font_changed (GSettings              *settings,
 
 	value = g_settings_get_boolean (settings, key);
 
-	gtk_widget_set_sensitive (dlg->priv->font_hbox, !value);
+	gtk_widget_set_sensitive (dlg->priv->custom_font_button, !value);
 }
 
 static void
@@ -419,16 +419,30 @@ setup_font_colors_page_font_section (GeditPreferencesDialog *dlg)
 
 	gedit_debug (DEBUG_PREFS);
 
-	gtk_widget_set_tooltip_text (dlg->priv->font_button,
+	gtk_widget_set_tooltip_text (dlg->priv->custom_font_button,
 			 _("Click on this button to select the font to be used by the editor"));
 
-	gedit_utils_set_atk_relation (dlg->priv->font_button,
-				      dlg->priv->default_font_checkbutton,
+	gedit_utils_set_atk_relation (dlg->priv->custom_font_button,
+				      dlg->priv->custom_font_radiobutton,
 				      ATK_RELATION_CONTROLLED_BY);
-	gedit_utils_set_atk_relation (dlg->priv->default_font_checkbutton,
-				      dlg->priv->font_button, 
+	gedit_utils_set_atk_relation (dlg->priv->custom_font_radiobutton,
+				      dlg->priv->custom_font_button, 
 				      ATK_RELATION_CONTROLLER_FOR);
 
+	/* Bind widgets to settings keys */
+	/* NOTE: This has to happen before setting the sensitivity of widgets, 
+	   otherwise sensitivity properties are not obeyed */
+	g_settings_bind (dlg->priv->editor,
+			 GEDIT_SETTINGS_USE_DEFAULT_FONT,
+			 dlg->priv->default_font_radiobutton,
+			 "active",
+			 G_SETTINGS_BIND_GET | G_SETTINGS_BIND_SET);
+	g_settings_bind (dlg->priv->editor,
+			 GEDIT_SETTINGS_EDITOR_FONT,
+			 dlg->priv->custom_font_button,
+			 "font-name",
+			 G_SETTINGS_BIND_GET | G_SETTINGS_BIND_SET);
+
 	/* Get values */
 	settings = _gedit_app_get_settings (gedit_app_get_default ());
 	system_font = gedit_settings_get_system_font (GEDIT_SETTINGS (settings));
@@ -437,33 +451,28 @@ setup_font_colors_page_font_section (GeditPreferencesDialog *dlg)
 
 	label = g_strdup_printf(_("_Use the system fixed width font (%s)"),
 				system_font);
-	gtk_button_set_label (GTK_BUTTON (dlg->priv->default_font_checkbutton),
+	gtk_button_set_label (GTK_BUTTON (dlg->priv->default_font_radiobutton),
 			      label);
 	g_free (system_font);
 	g_free (label);
 
-	/* read current config and setup initial state */
-	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dlg->priv->default_font_checkbutton),
-				      use_default_font);
+	/* Read current config and setup initial state */
+	if (use_default_font) {
+	    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dlg->priv->default_font_radiobutton),
+						TRUE);
+	} else {
+	    gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (dlg->priv->custom_font_radiobutton),
+						TRUE);
+	}
 
 	/* Set initial widget sensitivity */
-	gtk_widget_set_sensitive (dlg->priv->font_hbox, !use_default_font);
+	gtk_widget_set_sensitive (dlg->priv->custom_font_button, !use_default_font);
 
 	/* Connect signals */
 	g_signal_connect (dlg->priv->editor,
 			  "changed::use-default-font",
 			  G_CALLBACK (on_use_default_font_changed),
 			  dlg);
-	g_settings_bind (dlg->priv->editor,
-			 GEDIT_SETTINGS_USE_DEFAULT_FONT,
-			 dlg->priv->default_font_checkbutton,
-			 "active",
-			 G_SETTINGS_BIND_GET | G_SETTINGS_BIND_SET);
-	g_settings_bind (dlg->priv->editor,
-			 GEDIT_SETTINGS_EDITOR_FONT,
-			 dlg->priv->font_button,
-			 "font-name",
-			 G_SETTINGS_BIND_GET | G_SETTINGS_BIND_SET);
 }
 
 static void
@@ -986,9 +995,9 @@ gedit_preferences_dialog_init (GeditPreferencesDialog *dlg)
 		"auto_save_checkbutton", &dlg->priv->auto_save_checkbutton,
 		"auto_save_spinbutton", &dlg->priv->auto_save_spinbutton,
 
-		"default_font_checkbutton", &dlg->priv->default_font_checkbutton,
-		"font_button", &dlg->priv->font_button,
-		"font_hbox", &dlg->priv->font_hbox,
+		"default_font_radiobutton", &dlg->priv->default_font_radiobutton,
+		"custom_font_radiobutton", &dlg->priv->custom_font_radiobutton,
+		"custom_font_button", &dlg->priv->custom_font_button,
 
 		"schemes_treeview", &dlg->priv->schemes_treeview,
 		"install_scheme_button", &dlg->priv->install_scheme_button,
diff --git a/gedit/dialogs/gedit-preferences-dialog.ui b/gedit/dialogs/gedit-preferences-dialog.ui
index fa4f996..9663eee 100644
--- a/gedit/dialogs/gedit-preferences-dialog.ui
+++ b/gedit/dialogs/gedit-preferences-dialog.ui
@@ -37,6 +37,45 @@
         <property name="visible">True</property>
         <property name="can_focus">False</property>
         <property name="orientation">vertical</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="helpbutton1">
+                <property name="label">gtk-help</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="closebutton1">
+                <property name="label">gtk-close</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="receives_default">False</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+        </child>
         <child>
           <object class="GtkNotebook" id="notebook">
             <property name="visible">True</property>
@@ -65,6 +104,7 @@
                             <property name="receives_default">False</property>
                             <property name="use_action_appearance">False</property>
                             <property name="use_underline">True</property>
+                            <property name="xalign">0</property>
                             <property name="draw_indicator">True</property>
                           </object>
                           <packing>
@@ -86,6 +126,7 @@
                                 <property name="receives_default">False</property>
                                 <property name="use_action_appearance">False</property>
                                 <property name="use_underline">True</property>
+                                <property name="xalign">0</property>
                                 <property name="draw_indicator">True</property>
                               </object>
                               <packing>
@@ -170,6 +211,7 @@
                                 <property name="receives_default">False</property>
                                 <property name="use_action_appearance">False</property>
                                 <property name="use_underline">True</property>
+                                <property name="xalign">0</property>
                                 <property name="draw_indicator">True</property>
                               </object>
                               <packing>
@@ -186,6 +228,7 @@
                                 <property name="receives_default">False</property>
                                 <property name="use_action_appearance">False</property>
                                 <property name="use_underline">True</property>
+                                <property name="xalign">0</property>
                                 <property name="draw_indicator">True</property>
                               </object>
                               <packing>
@@ -249,6 +292,7 @@
                                 <property name="receives_default">False</property>
                                 <property name="use_action_appearance">False</property>
                                 <property name="use_underline">True</property>
+                                <property name="xalign">0</property>
                                 <property name="draw_indicator">True</property>
                               </object>
                               <packing>
@@ -265,6 +309,7 @@
                                 <property name="receives_default">False</property>
                                 <property name="use_action_appearance">False</property>
                                 <property name="use_underline">True</property>
+                                <property name="xalign">0</property>
                                 <property name="draw_indicator">True</property>
                               </object>
                               <packing>
@@ -388,6 +433,7 @@
                                 <property name="receives_default">False</property>
                                 <property name="use_action_appearance">False</property>
                                 <property name="use_underline">True</property>
+                                <property name="xalign">0</property>
                                 <property name="draw_indicator">True</property>
                               </object>
                               <packing>
@@ -404,6 +450,7 @@
                                 <property name="receives_default">False</property>
                                 <property name="use_action_appearance">False</property>
                                 <property name="use_underline">True</property>
+                                <property name="xalign">0</property>
                                 <property name="draw_indicator">True</property>
                               </object>
                               <packing>
@@ -467,6 +514,7 @@
                                 <property name="receives_default">False</property>
                                 <property name="use_action_appearance">False</property>
                                 <property name="use_underline">True</property>
+                                <property name="xalign">0</property>
                                 <property name="draw_indicator">True</property>
                               </object>
                               <packing>
@@ -488,6 +536,7 @@
                                     <property name="receives_default">False</property>
                                     <property name="use_action_appearance">False</property>
                                     <property name="use_underline">True</property>
+                                    <property name="xalign">0</property>
                                     <property name="draw_indicator">True</property>
                                   </object>
                                   <packing>
@@ -603,13 +652,16 @@
                             <property name="can_focus">False</property>
                             <property name="spacing">6</property>
                             <child>
-                              <object class="GtkCheckButton" id="default_font_checkbutton">
-                                <property name="label">_Use the system fixed width font (%s)</property>
+                              <object class="GtkRadioButton" id="default_font_radiobutton">
+                                <property name="label" translatable="yes">_Use the system fixed width font (%s)</property>
                                 <property name="visible">True</property>
                                 <property name="can_focus">True</property>
                                 <property name="receives_default">False</property>
                                 <property name="use_action_appearance">False</property>
                                 <property name="use_underline">True</property>
+                                <property name="xalign">0</property>
+                                <property name="image_position">top</property>
+                                <property name="active">True</property>
                                 <property name="draw_indicator">True</property>
                               </object>
                               <packing>
@@ -619,19 +671,22 @@
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkHBox" id="font_hbox">
+                              <object class="GtkHBox" id="custom_font_hbox">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="spacing">12</property>
+                                <property name="spacing">6</property>
                                 <child>
-                                  <object class="GtkLabel" id="font_label">
+                                  <object class="GtkRadioButton" id="custom_font_radiobutton">
+                                    <property name="label" translatable="yes">Use custom _font:</property>
                                     <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">Editor _font: </property>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="use_action_appearance">False</property>
                                     <property name="use_underline">True</property>
-                                    <property name="justify">center</property>
-                                    <property name="mnemonic_widget">font_button</property>
+                                    <property name="xalign">0</property>
+                                    <property name="active">True</property>
+                                    <property name="draw_indicator">True</property>
+                                    <property name="group">default_font_radiobutton</property>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
@@ -640,8 +695,9 @@
                                   </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkFontButton" id="font_button">
+                                  <object class="GtkFontButton" id="custom_font_button">
                                     <property name="visible">True</property>
+                                    <property name="sensitive">False</property>
                                     <property name="can_focus">True</property>
                                     <property name="receives_default">True</property>
                                     <property name="use_action_appearance">False</property>
@@ -656,7 +712,7 @@
                                 </child>
                               </object>
                               <packing>
-                                <property name="expand">False</property>
+                                <property name="expand">True</property>
                                 <property name="fill">True</property>
                                 <property name="position">1</property>
                               </packing>
@@ -840,45 +896,6 @@
             <property name="position">1</property>
           </packing>
         </child>
-        <child internal-child="action_area">
-          <object class="GtkButtonBox" id="dialog-action_area">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="helpbutton1">
-                <property name="label">gtk-help</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="closebutton1">
-                <property name="label">gtk-close</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </object>
-        </child>
       </object>
     </child>
     <action-widgets>
