Index: gtk/gtkstyle.c
===================================================================
--- gtk/gtkstyle.c	(revision 17943)
+++ gtk/gtkstyle.c	(working copy)
@@ -1663,6 +1663,9 @@ gtk_style_real_init_from_rc (GtkStyle   
 	style->base[i] = rc_style->base[i];
     }
 
+  if (rc_style->color_flags[GTK_STATE_NORMAL] & GTK_RC_TEXT)
+    style_unrealize_cursor_gcs (style);
+
   if (rc_style->xthickness >= 0)
     style->xthickness = rc_style->xthickness;
   if (rc_style->ythickness >= 0)
@@ -6646,7 +6649,7 @@ get_insertion_cursor_gc (GtkWidget *widg
       if (!cursor_info->primary_gc)
 	cursor_info->primary_gc = make_cursor_gc (widget,
 						  "cursor-color",
-						  &widget->style->black);
+						  &widget->style->text[GTK_STATE_NORMAL]);
 	
       return cursor_info->primary_gc;
     }
