diff --git a/shell/shell-search-renderer.c b/shell/shell-search-renderer.c
index 8b70854..1f9ac3f 100644
--- a/shell/shell-search-renderer.c
+++ b/shell/shell-search-renderer.c
@@ -278,16 +278,32 @@ shell_search_renderer_render (GtkCellRenderer      *cell,
   ShellSearchRendererPrivate *priv = SHELL_SEARCH_RENDERER (cell)->priv;
   PangoRectangle rect;
 
+  GdkScreen *screen;
+  GtkWidgetPath *path;
+  GtkStyleContext *context;
+  GdkRGBA color;
+
+
   shell_search_renderer_set_layout (SHELL_SEARCH_RENDERER (cell), widget);
 
   pango_layout_get_pixel_extents (priv->layout, NULL, &rect);
 
   cairo_move_to (cr, cell_area->x, cell_area->y);
 
-  /* FIXME: get the correct colour from the theme */
-  cairo_set_source_rgb (cr, 0, 0, 0);
+
+  context = gtk_style_context_new ();
+  path = gtk_widget_path_new ();
+  gtk_widget_path_append_type (path, GTK_TYPE_LABEL);
+  gtk_style_context_set_path (context, path);
+  screen = gdk_screen_get_default();
+  gtk_style_context_set_screen (context, screen);
+
+  gtk_style_context_get_color (context, GTK_STATE_FLAG_NORMAL, &color);
+
+  cairo_set_source_rgb (cr, color.red, color.green, color.blue);
+
   if (priv->layout)
-    pango_cairo_layout_path (cr, priv->layout);
+    pango_cairo_show_layout (cr, priv->layout);
   cairo_fill (cr);
 }
 
