Index: configure.in
===================================================================
--- configure.in	(revision 2530)
+++ configure.in	(working copy)
@@ -37,7 +37,6 @@ BONOBO_ACTIVATION_REQUIRED="bonobo-activ
 GDK_PIXBUF_REQUIRED="gdk-pixbuf-2.0 >= 2.0.0"
 GMODULE_REQUIRED="gmodule-2.0 >= 2.0.0"
 GNOME_DESKTOP_REQUIRED="gnome-desktop-2.0 >= 2.0.0"
-GNOME_VFS_REQUIRED="gnome-vfs-2.0 >= 2.0.0"
 LIBBONOBO_REQUIRED="libbonobo-2.0 >= 2.0.0"
 LIBGNOME_REQUIRED="libgnome-2.0 >= 2.0.0"
 LIBGNOMECANVAS_REQUIRED="libgnomecanvas-2.0 >= 2.0.0"
@@ -45,6 +44,7 @@ LIBGNOMEMENU_REQUIRED="libgnome-menu >= 
 LIBGNOMEUI_REQUIRED="libgnomeui-2.0 >= 2.5.92"
 LIBXML_REQUIRED="libxml-2.0 >= 2.4.6"
 GTK_REQUIRED="gtk+-2.0 >= 2.12"
+GIO_REQUIRED="gio-2.0 >= 2.16.0"
 LIBSOUP_REQUIRED="libsoup-2.4"
 LIBGTOP_REQUIRED="libgtop-2.0 >= 2.13.3"
 LIBNM_GLIB_REQUIRED="libnm_glib >= 0.6.2"
@@ -55,7 +55,7 @@ PKG_CHECK_MODULES(BUG_BUDDY, 
 	$GDK_PIXBUF_REQUIRED
 	$GMODULE_REQUIRED
 	$GNOME_DESKTOP_REQUIRED
-	$GNOME_VFS_REQUIRED
+	$GIO_REQUIRED
 	$LIBBONOBO_REQUIRED
 	$LIBGNOME_REQUIRED
 	$LIBGNOMECANVAS_REQUIRED
Index: src/verify-desktop-files.c
===================================================================
--- src/verify-desktop-files.c	(revision 2530)
+++ src/verify-desktop-files.c	(working copy)
@@ -22,7 +22,6 @@
 
 #include <glib.h>
 #include <gtk/gtk.h>
-#include <libgnomevfs/gnome-vfs.h>
 #include <bonobo-activation/bonobo-activation.h>
 
 #include "bugzilla.h"
@@ -51,8 +50,7 @@ main (int argc, char *argv[])
 	GHashTable *apps;
 
 	gtk_init (&argc, &argv);
-	gnome_vfs_init ();
-	
+
 	if (!bonobo_activation_is_initialized()) {
 		bonobo_activation_init (argc, argv);
 	}
Index: src/bug-buddy.c
===================================================================
--- src/bug-buddy.c	(revision 2530)
+++ src/bug-buddy.c	(working copy)
@@ -41,15 +41,19 @@
 #include <glib.h>
 #include <glib/gstdio.h>
 #include <glib/gi18n.h>
+#include <gio/gio.h>
 #include <gnome.h>
 #include <libgnomeui/gnome-window-icon.h>
-#include <libgnomevfs/gnome-vfs-utils.h>
 #include <gtk/gtkbuilder.h>
 #include <gdk-pixbuf/gdk-pixbuf.h>
 #include <libgnomecanvas/gnome-canvas-pixbuf.h>
 #include <libgnome/libgnometypebuiltins.h>
 #include <gdk/gdkx.h>
 
+#if GTK_CHECK_VERSION (2,13,0)
+#include <gdk/gdkapplaunchcontext.h>
+#endif
+
 #include <libxml/tree.h>
 #include <libxml/parser.h>
 
@@ -366,8 +370,22 @@ static void
 link_callback (GtkLinkButton *button, gpointer user_data)
 {
 	const gchar *link = gtk_link_button_get_uri (button);
+#if GTK_CHECK_VERSION (2,13,0)
+	GdkAppLaunchContext *context;
 
-	if (gnome_vfs_url_show (link) != GNOME_VFS_OK) {
+	context = gdk_app_launch_context_new ();
+	gdk_app_launch_context_set_screen (context,
+					   gtk_widget_get_screen (GTK_WIDGET (link_button)));
+	gdk_app_launch_context_set_timestamp (context,
+					      gtk_get_current_event_time ());	
+
+	if (!g_app_info_launch_default_for_uri (link,
+						G_APP_LAUNCH_CONTEXT (context),
+						NULL))
+#else
+	if (!g_app_info_launch_default_for_uri (link, NULL, NULL))
+#endif
+    {
 		char *text;
 
 		text = g_markup_printf_escaped (_("Bug Buddy was unable to view the link \"%s\"\n"), link);
@@ -375,6 +393,10 @@ link_callback (GtkLinkButton *button, gp
 		g_free (text);
 	}
 
+#if GTK_CHECK_VERSION (2,13,0)
+	g_object_unref (context);
+#endif
+
 	return;
 }
 
