diff --git a/gfio.c b/gfio.c
index b91ef06..6f313ed 100644
--- a/gfio.c
+++ b/gfio.c
@@ -41,7 +41,7 @@
 static unsigned int gfio_graph_limit = 100;
 
 GdkColor gfio_color_white;
-const char *gfio_graph_font;
+const char *gfio_graph_font = GRAPH_DEFAULT_FONT;
 
 typedef void (*clickfunction)(GtkWidget *widget, gpointer data);
 
@@ -1047,26 +1047,38 @@
 		gfio_display_end_results(gc);
 }
 
-static void __update_graph_limits(struct gfio_graphs *g)
+static void __update_graph_settings(struct gfio_graphs *g)
 {
 	line_graph_set_data_count_limit(g->iops_graph, gfio_graph_limit);
+	graph_set_font(g->iops_graph, gfio_graph_font);
 	line_graph_set_data_count_limit(g->bandwidth_graph, gfio_graph_limit);
+	graph_set_font(g->bandwidth_graph, gfio_graph_font);
 }
 
-static void ge_update_lim_fn(gpointer key, gpointer value, gpointer data)
+static void ge_update_settings_fn(gpointer key, gpointer value, gpointer data)
 {
 	struct gui_entry *ge = (struct gui_entry *) value;
+	GdkEvent *ev;
 
-	__update_graph_limits(&ge->graphs);
+	__update_graph_settings(&ge->graphs);
+
+	ev = gdk_event_new(GDK_EXPOSE);
+	g_signal_emit_by_name(G_OBJECT(ge->graphs.drawing_area), "expose_event", GTK_WIDGET(ge->graphs.drawing_area), ev, &ge->graphs);
+	gdk_event_free(ev);
 }
 
 static void update_graph_limits(void)
 {
 	struct gui *ui = &main_ui;
+	GdkEvent *ev;
 
-	__update_graph_limits(&ui->graphs);
+	__update_graph_settings(&ui->graphs);
 
-	g_hash_table_foreach(ui->ge_hash, ge_update_lim_fn, NULL);
+	ev = gdk_event_new(GDK_EXPOSE);
+	g_signal_emit_by_name(G_OBJECT(ui->graphs.drawing_area), "expose_event", GTK_WIDGET(ui->graphs.drawing_area), ev, &ui->graphs);
+	gdk_event_free(ev);
+
+	g_hash_table_foreach(ui->ge_hash, ge_update_settings_fn, NULL);
 }
 
 static void preferences(GtkWidget *w, gpointer data)
@@ -1093,7 +1105,7 @@
 	entry = gtk_label_new("Font face to use for graph labels");
 	gtk_box_pack_start(GTK_BOX(hbox), entry, TRUE, TRUE, 5);
 
-	font = gtk_font_button_new();
+	font = gtk_font_button_new_with_font(gfio_graph_font);
 	gtk_box_pack_start(GTK_BOX(hbox), font, FALSE, FALSE, 5);
 
 	box = gtk_vbox_new(FALSE, 6);
