diff --git a/data/gedit.schemas.in b/data/gedit.schemas.in
index 13ecc7c..4f18e0b 100644
--- a/data/gedit.schemas.in
+++ b/data/gedit.schemas.in
@@ -5,11 +5,11 @@
       <applyto>/apps/gedit-2/preferences/editor/font/use_default_font</applyto>
       <owner>gedit</owner>
       <type>bool</type>
-      <default>FALSE</default>
+      <default>TRUE</default>
       <locale name="C">
 	<short>Use Default Font</short>
-	<long>Whether to use the system's default font for editing text
-	instead of a font specific to gedit.  If this option is turned
+	<long>Whether to use the system's default monospaced font for editing
+	text instead of a font specific to gedit.  If this option is turned
 	off, then the font named in the "Editor Font" option will be
 	used instead of the system font.</long>
       </locale>
diff --git a/gedit/dialogs/gedit-preferences-dialog.c b/gedit/dialogs/gedit-preferences-dialog.c
index 41644f0..35c4fad 100644
--- a/gedit/dialogs/gedit-preferences-dialog.c
+++ b/gedit/dialogs/gedit-preferences-dialog.c
@@ -644,6 +644,7 @@ setup_font_colors_page (GeditPreferences
 	gboolean use_default_colors;
 	gchar *editor_font = NULL;
 	GdkColor color;
+	gchar *label;
 
 	gedit_debug (DEBUG_PREFS);
 
@@ -663,7 +664,15 @@ setup_font_colors_page (GeditPreferences
 	gedit_utils_set_atk_relation (dlg->priv->font_button, dlg->priv->default_font_checkbutton, 
                                                           ATK_RELATION_CONTROLLED_BY);
 	gedit_utils_set_atk_relation (dlg->priv->default_font_checkbutton, dlg->priv->font_button, 
-                                                         ATK_RELATION_CONTROLLER_FOR);
+                                                         ATK_RELATION_CONTROLLER_FOR);	
+
+	editor_font = gedit_prefs_manager_get_system_font ();
+	label = g_strdup_printf(_("_Use the system fixed width font (%s)"),
+				editor_font);
+	gtk_button_set_label (GTK_BUTTON (dlg->priv->default_font_checkbutton),
+			      label);
+	g_free (editor_font);
+	g_free (label);
 
 	/* read current config and setup initial state */
 	use_default_font = gedit_prefs_manager_get_use_default_font ();
diff --git a/gedit/dialogs/gedit-preferences-dialog.glade b/gedit/dialogs/gedit-preferences-dialog.glade
index e06feb7..c23554f 100644
--- a/gedit/dialogs/gedit-preferences-dialog.glade
+++ b/gedit/dialogs/gedit-preferences-dialog.glade
@@ -17,6 +17,7 @@
   <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
   <property name="focus_on_map">True</property>
+  <property name="urgency_hint">False</property>
   <property name="has_separator">False</property>
 
   <child internal-child="vbox">
@@ -1289,7 +1290,7 @@
 			    <widget class="GtkCheckButton" id="default_font_checkbutton">
 			      <property name="visible">True</property>
 			      <property name="can_focus">True</property>
-			      <property name="label" translatable="yes">_Use default theme font</property>
+			      <property name="label" translatable="yes">_Use the system fixed width font (%s)</property>
 			      <property name="use_underline">True</property>
 			      <property name="relief">GTK_RELIEF_NORMAL</property>
 			      <property name="focus_on_click">True</property>
diff --git a/gedit/gedit-prefs-manager-app.c b/gedit/gedit-prefs-manager-app.c
index 63d7687..2bb9a49 100644
--- a/gedit/gedit-prefs-manager-app.c
+++ b/gedit/gedit-prefs-manager-app.c
@@ -47,41 +47,46 @@
 #include "gedit-window-private.h"
 
 static void gedit_prefs_manager_editor_font_changed	(GConfClient *client,
-		   				 	 guint        cnxn_id,
-			   				 GConfEntry  *entry,
-			   				 gpointer     user_data);
-
-static void gedit_prefs_manager_editor_colors_changed 	(GConfClient *client,
-			   				 guint        cnxn_id,
-			   				 GConfEntry  *entry,
-			   				 gpointer     user_data);
-
-static void gedit_prefs_manager_tabs_size_changed 	(GConfClient *client,
-						       	 guint        cnxn_id, 
-						       	 GConfEntry  *entry, 
-						       	 gpointer     user_data);
-				       	 
-static void gedit_prefs_manager_wrap_mode_changed 	(GConfClient *client,
+							 guint        cnxn_id,
+							 GConfEntry  *entry,
+							 gpointer     user_data);
+
+static void gedit_prefs_manager_system_font_changed	(GConfClient *client,
+							 guint        cnxn_id,
+							 GConfEntry  *entry,
+							 gpointer     user_data);
+
+static void gedit_prefs_manager_editor_colors_changed	(GConfClient *client,
+							 guint        cnxn_id,
+							 GConfEntry  *entry,
+							 gpointer     user_data);
+
+static void gedit_prefs_manager_tabs_size_changed	(GConfClient *client,
+							 guint        cnxn_id, 
+							 GConfEntry  *entry, 
+							 gpointer     user_data);
+
+static void gedit_prefs_manager_wrap_mode_changed	(GConfClient *client,
 							 guint        cnxn_id, 
 							 GConfEntry  *entry, 
 							 gpointer     user_data);
 
-static void gedit_prefs_manager_line_numbers_changed 	(GConfClient *client,
+static void gedit_prefs_manager_line_numbers_changed	(GConfClient *client,
 							 guint        cnxn_id, 
 							 GConfEntry  *entry, 
 							 gpointer     user_data);
 
-static void gedit_prefs_manager_auto_indent_changed 	(GConfClient *client,
+static void gedit_prefs_manager_auto_indent_changed	(GConfClient *client,
 							 guint        cnxn_id, 
 							 GConfEntry  *entry, 
 							 gpointer     user_data);
 
-static void gedit_prefs_manager_undo_changed 		(GConfClient *client,
+static void gedit_prefs_manager_undo_changed		(GConfClient *client,
 							 guint        cnxn_id, 
 							 GConfEntry  *entry, 
 							 gpointer     user_data);
 
-static void gedit_prefs_manager_right_margin_changed 	(GConfClient *client,
+static void gedit_prefs_manager_right_margin_changed	(GConfClient *client,
 							 guint        cnxn_id, 
 							 GConfEntry  *entry, 
 							 gpointer     user_data);
@@ -107,7 +112,7 @@ static void gedit_prefs_manager_search_h
 							 gpointer     user_data);
 
 
-static void gedit_prefs_manager_max_recents_changed 	(GConfClient *client,
+static void gedit_prefs_manager_max_recents_changed	(GConfClient *client,
 							 guint        cnxn_id, 
 							 GConfEntry  *entry, 
 							 gpointer     user_data);
@@ -117,7 +122,7 @@ static void gedit_prefs_manager_auto_sav
 							 GConfEntry  *entry,
 							 gpointer     user_data);
 
-static void gedit_prefs_manager_lockdown_changed 	(GConfClient *client,
+static void gedit_prefs_manager_lockdown_changed	(GConfClient *client,
 							 guint        cnxn_id,
 							 GConfEntry  *entry,
 							 gpointer     user_data);
@@ -160,6 +165,11 @@ gedit_prefs_manager_app_init (void)
 				NULL, NULL, NULL);
 
 		gconf_client_notify_add (gedit_prefs_manager->gconf_client,
+				GPM_SYSTEM_FONT,
+				gedit_prefs_manager_system_font_changed,
+				NULL, NULL, NULL);
+
+		gconf_client_notify_add (gedit_prefs_manager->gconf_client,
 				GPM_COLORS_DIR,
 				gedit_prefs_manager_editor_colors_changed,
 				NULL, NULL, NULL);
@@ -473,6 +483,53 @@ gedit_prefs_manager_editor_font_changed
 
 	if ((font == NULL) && !def)
 		font = gedit_prefs_manager_get_editor_font ();
+	else
+		font = gedit_prefs_manager_get_system_font ();
+
+	ts = gedit_prefs_manager_get_tabs_size ();
+
+	views = gedit_app_get_views (gedit_app_get_default ());
+	l = views;
+
+	while (l != NULL)
+	{
+		/* Note: we use def=FALSE to avoid GeditView to query gconf */
+		gedit_view_set_font (GEDIT_VIEW (l->data), FALSE,  font);
+		gtk_source_view_set_tabs_width (GTK_SOURCE_VIEW (l->data), ts);
+
+		l = l->next;
+	}
+
+	g_list_free (views);
+	g_free (font);
+}
+
+static void 
+gedit_prefs_manager_system_font_changed (GConfClient *client,
+					 guint        cnxn_id, 
+					 GConfEntry  *entry, 
+					 gpointer     user_data)
+{
+	GList *views;
+	GList *l;
+	gchar *font;
+	gint ts;
+
+	gedit_debug (DEBUG_PREFS);
+
+	g_return_if_fail (entry->key != NULL);
+	g_return_if_fail (entry->value != NULL);
+
+	if (strcmp (entry->key, GPM_SYSTEM_FONT) != 0)
+		return;
+
+	if (!gedit_prefs_manager_get_use_default_font ())
+		return;
+
+	if (entry->value->type == GCONF_VALUE_STRING)
+		font = g_strdup (gconf_value_get_string (entry->value));
+	else
+		font = g_strdup (GPM_DEFAULT_SYSTEM_FONT);
 
 	ts = gedit_prefs_manager_get_tabs_size ();
 
@@ -481,12 +538,10 @@ gedit_prefs_manager_editor_font_changed
 
 	while (l != NULL)
 	{
-		gedit_view_set_font (GEDIT_VIEW (l->data),
-				     def, 
-				     font);
-		gtk_source_view_set_tabs_width (GTK_SOURCE_VIEW (l->data),
-						ts);
+		/* Note: we use def=FALSE to avoid GeditView to query gconf */
+		gedit_view_set_font (GEDIT_VIEW (l->data), FALSE, font);
 
+		gtk_source_view_set_tabs_width (GTK_SOURCE_VIEW (l->data), ts);
 		l = l->next;
 	}
 
@@ -1092,7 +1147,7 @@ gedit_prefs_manager_search_hl_enable_cha
 			g_return_if_fail (GEDIT_IS_DOCUMENT (l->data));
 
 			gedit_document_set_enable_search_highlighting  (GEDIT_DOCUMENT (l->data),
-							 		enable);
+									enable);
 
 			l = l->next;
 		}
diff --git a/gedit/gedit-prefs-manager.c b/gedit/gedit-prefs-manager.c
index 56f8c45..d3dca08 100644
--- a/gedit/gedit-prefs-manager.c
+++ b/gedit/gedit-prefs-manager.c
@@ -401,6 +401,10 @@ DEFINE_STRING_PREF (editor_font,
 		    GPM_EDITOR_FONT,
 		    GPM_DEFAULT_EDITOR_FONT)
 
+/* System font */
+DEFINE_STRING_PREF (system_font,
+		    GPM_SYSTEM_FONT,
+		    GPM_DEFAULT_SYSTEM_FONT)
 
 /* Use default colors */
 DEFINE_BOOL_PREF (use_default_colors,
diff --git a/gedit/gedit-prefs-manager.h b/gedit/gedit-prefs-manager.h
index 229596c..31cbe9b 100644
--- a/gedit/gedit-prefs-manager.h
+++ b/gedit/gedit-prefs-manager.h
@@ -43,6 +43,7 @@
 #define GPM_FONT_DIR			GPM_PREFS_DIR "/editor/font"
 #define GPM_USE_DEFAULT_FONT		GPM_FONT_DIR "/use_default_font"
 #define GPM_EDITOR_FONT			GPM_FONT_DIR "/editor_font"
+#define GPM_SYSTEM_FONT			"/desktop/gnome/interface/monospace_font_name"
 
 #define GPM_COLORS_DIR			GPM_PREFS_DIR  "/editor/colors"
 #define GPM_USE_DEFAULT_COLORS		GPM_COLORS_DIR "/use_default_colors"
@@ -152,8 +153,9 @@
 
 /* Fallback default values. Keep in sync with gedit.schemas */
 
-#define GPM_DEFAULT_USE_DEFAULT_FONT 	0 /* FALSE */
+#define GPM_DEFAULT_USE_DEFAULT_FONT 	1 /* TRUE */
 #define GPM_DEFAULT_EDITOR_FONT 	(const gchar*) "Monospace 12"
+#define GPM_DEFAULT_SYSTEM_FONT 	(const gchar*) "Monospace 12"
 
 #define GPM_DEFAULT_USE_DEFAULT_COLORS 	1 /* TRUE */
 #define GPM_DEFAULT_BACKGROUND_COLOR	(const gchar*) "#ffffffffffff"
@@ -255,6 +257,11 @@ gchar 			*gedit_prefs_manager_get_editor
 void			 gedit_prefs_manager_set_editor_font 		(const gchar *font);
 gboolean		 gedit_prefs_manager_editor_font_can_set	(void);
 
+/* System font */
+gchar 			*gedit_prefs_manager_get_system_font		(void);
+void			 gedit_prefs_manager_set_system_font 		(const gchar *font);
+gboolean		 gedit_prefs_manager_system_font_can_set	(void);
+
 /* Use default colors */
 gboolean 		 gedit_prefs_manager_get_use_default_colors 	(void);
 void			 gedit_prefs_manager_set_use_default_colors 	(gboolean udc);
diff --git a/gedit/gedit-view.c b/gedit/gedit-view.c
index 4dfbdc8..d335297 100644
--- a/gedit/gedit-view.c
+++ b/gedit/gedit-view.c
@@ -344,6 +344,10 @@ gedit_view_init (GeditView *view)
 
 		g_free (editor_font);
 	}
+	else
+	{
+		gedit_view_set_font (view, TRUE, NULL);
+	}
 
 	if (!gedit_prefs_manager_get_use_default_colors ())
 	{
@@ -781,36 +785,23 @@ gedit_view_set_font (GeditView   *view,
 		     gboolean     def, 
 		     const gchar *font_name)
 {
+	PangoFontDescription *font_desc = NULL;
+
 	gedit_debug (DEBUG_VIEW);
 
 	g_return_if_fail (GEDIT_IS_VIEW (view));
 
-	if (!def)
-	{
-		PangoFontDescription *font_desc = NULL;
+	if (def)
+		font_name = gedit_prefs_manager_get_system_font ();
 
-		g_return_if_fail (font_name != NULL);
-		
-		font_desc = pango_font_description_from_string (font_name);
-		g_return_if_fail (font_desc != NULL);
+	g_return_if_fail (font_name != NULL);
 
-		gtk_widget_modify_font (GTK_WIDGET (view), font_desc);
-		
-		pango_font_description_free (font_desc);		
-	}
-	else
-	{
-		GtkRcStyle *rc_style;
-
-		rc_style = gtk_widget_get_modifier_style (GTK_WIDGET (view));
+	font_desc = pango_font_description_from_string (font_name);
+	g_return_if_fail (font_desc != NULL);
 
-		if (rc_style->font_desc)
-			pango_font_description_free (rc_style->font_desc);
+	gtk_widget_modify_font (GTK_WIDGET (view), font_desc);
 
-		rc_style->font_desc = NULL;
-		
-		gtk_widget_modify_style (GTK_WIDGET (view), rc_style);
-	}
+	pango_font_description_free (font_desc);		
 }
 
 static void
