Index: src/popup-commands.c
===================================================================
--- src/popup-commands.c	(revision 6995)
+++ src/popup-commands.c	(working copy)
@@ -175,32 +175,16 @@ save_property_url_completed_cb (EphyEmbe
 				EPHY_EMBED_PERSIST_ASK_DESTINATION))
 	{
 		const char *dest;
-		char *desktop_dir; 
 		guint32 user_time;
-		GnomeVFSURI *parent, *uri, *desktop;
 
 		user_time = ephy_embed_persist_get_user_time (persist);
 		dest = ephy_embed_persist_get_dest (persist);
-		g_return_if_fail (dest != NULL);
-
-		desktop_dir = ephy_file_desktop_dir ();
-
-		/* Where are we going to save */
-		uri = gnome_vfs_uri_new (dest); 
-		desktop = gnome_vfs_uri_new (desktop_dir);
 
-		g_return_if_fail (uri != NULL);
-
-		parent = gnome_vfs_uri_get_parent (uri);
+		g_return_if_fail (dest != NULL);
 
-		/* If save location is the desktop, don't open it */
-		if (!gnome_vfs_uri_equal (desktop, parent))
-			ephy_file_browse_to (dest, user_time);
+		/* If save location is the desktop, nautilus will not open */
+		ephy_file_browse_to (dest, user_time);
 
-		g_free (desktop_dir);
-		gnome_vfs_uri_unref (uri);
-		gnome_vfs_uri_unref (parent);
-		gnome_vfs_uri_unref (desktop);
 	}
 }
 
Index: lib/ephy-file-helpers.c
===================================================================
--- lib/ephy-file-helpers.c	(revision 6995)
+++ lib/ephy-file-helpers.c	(working copy)
@@ -1019,19 +1019,33 @@ gboolean
 ephy_file_browse_to (const char *parameter,
 		     guint32 user_time)
 {
-	GnomeVFSURI *uri, *parent_uri;
+	GnomeVFSURI *uri, *parent_uri, *desktop;
+	char *desktop_dir;
 	gboolean ret;
 
 	uri = gnome_vfs_uri_new (parameter);
 	parent_uri = gnome_vfs_uri_get_parent (uri);
 
-	/* TODO find a way to make nautilus scroll to the actual file */
-	ret = ephy_file_launch_handler ("x-directory/normal", 
-					gnome_vfs_uri_get_path (parent_uri), 
-					user_time);
+	desktop_dir = ephy_file_desktop_dir ();
+	desktop = gnome_vfs_uri_new (desktop_dir);
 	
+	/* Don't do anything if destination is the desktop */
+	if (gnome_vfs_uri_equal (desktop, parent_uri))
+	{
+		ret = FALSE;
+	}
+	else
+	{
+		/* TODO find a way to make nautilus scroll to the actual file */
+		ret = ephy_file_launch_handler ("x-directory/normal", 
+						gnome_vfs_uri_get_path (parent_uri), 
+						user_time);
+	}
+	
+	g_free (desktop_dir);
 	gnome_vfs_uri_unref (uri);
 	gnome_vfs_uri_unref (parent_uri);
+	gnome_vfs_uri_unref (desktop);
 
 	return ret;
 }
