Index: libanjuta/anjuta-utils.c
===================================================================
--- libanjuta/anjuta-utils.c	(revision 3787)
+++ libanjuta/anjuta-utils.c	(working copy)
@@ -1319,3 +1319,62 @@
 }
 
 #endif /* HAVE_LIBUTIL */
+
+void
+anjuta_util_help_display (GtkWindow   *parent,
+						  const gchar *doc_id,
+						  const gchar *file_name)
+{
+
+	GError *error = NULL;
+	GdkScreen *screen;
+	gchar *command;
+	const gchar *lang;
+	const gchar * const *langs;
+	gchar *uri = NULL;
+	gint i;
+	
+	g_return_if_fail (file_name != NULL);
+
+	langs = g_get_language_names ();
+	for (i = 0; langs[i]; i++)
+	{
+		lang = langs[i];
+		if (strchr (lang, '.'))
+			continue;
+
+		uri = g_build_filename (DATADIR, "/gnome/help/", doc_id,
+							    lang, file_name, NULL);
+
+		if (g_file_test (uri, G_FILE_TEST_EXISTS)) {
+			break;
+		}
+		g_free (uri);
+		uri = NULL;
+	}
+
+	if (uri == NULL)
+	{
+		anjuta_util_dialog_error (parent, _("Unable to display help. Please make sure Anjuta "
+								  "documentation package is install. It can be downloaded "
+								  "from http://anjuta.org"));
+
+		return;
+	}
+	
+	command = g_strconcat ("gnome-help ghelp://", uri,  NULL);
+	g_free (uri);
+
+	screen = gtk_widget_get_screen (GTK_WIDGET (parent));
+	gdk_spawn_command_line_on_screen (screen, command, &error);
+	if (error != NULL)
+	{
+		g_warning ("Error executing help application: %s",
+				   error->message);
+		g_error_free (error);
+		
+		return;
+	}
+	g_free (command);
+}
+
Index: libanjuta/anjuta-utils.h
===================================================================
--- libanjuta/anjuta-utils.h	(revision 3787)
+++ libanjuta/anjuta-utils.h	(working copy)
@@ -112,6 +112,10 @@
 
 gchar* anjuta_util_get_uri_mime_type (const gchar *uri);
 
+void anjuta_util_help_display (GtkWindow   *parent,
+							   const gchar *doc_id,
+							   const gchar *file_name);
+
 /* Temporarily copied here */
 
 #define ANJUTA_TYPE_BEGIN(class_name, prefix, parent_type) \
Index: src/action-callbacks.c
===================================================================
--- src/action-callbacks.c	(revision 3787)
+++ src/action-callbacks.c	(working copy)
@@ -102,36 +102,33 @@
 }
 
 static void
-help_activate (const gchar *doc_id, const gchar *item)
+help_activate (GtkWindow *parent, const gchar *doc_id, const gchar *item)
 {
-	if (gnome_help_display_with_doc_id (NULL, doc_id, item, NULL, NULL) == FALSE)
-	{
-	  anjuta_util_dialog_error (NULL, _("Unable to display help. Please make sure Anjuta documentation package is install. It can be downloaded from http://anjuta.org"));	
-	}
+	anjuta_util_help_display (parent, doc_id, item);
 }
 
 void
 on_help_manual_activate (GtkAction *action, gpointer data)
 {
-	help_activate ("anjuta-manual", "anjuta-manual.xml");
+	help_activate (data, "anjuta-manual", "anjuta-manual.xml");
 }
 
 void
 on_help_tutorial_activate (GtkAction *action, gpointer data)
 {
-	help_activate ("anjuta-tutorial", "anjuta-tutorial.xml");
+	help_activate (data, "anjuta-tutorial", "anjuta-tutorial.xml");
 }
 
 void
 on_help_advanced_tutorial_activate (GtkAction *action, gpointer data)
 {
-	help_activate ("anjuta-advanced-tutorial", "anjuta-advanced-tutorial.xml");
+	help_activate (data, "anjuta-advanced-tutorial", "anjuta-advanced-tutorial.xml");
 }
 
 void
 on_help_faqs_activate (GtkAction *action, gpointer data)
 {
-	help_activate ("anjuta-faqs", "anjuta-faqs.xml");
+	help_activate (data, "anjuta-faqs", "anjuta-faqs.xml");
 }
 
 void
