diff -ur nautilus-2.20.0.orig/src/file-manager/fm-directory-view.c nautilus-2.20.0/src/file-manager/fm-directory-view.c
--- nautilus-2.20.0.orig/src/file-manager/fm-directory-view.c	2007-10-23 22:56:55.000000000 +0200
+++ nautilus-2.20.0/src/file-manager/fm-directory-view.c	2007-10-23 22:58:37.000000000 +0200
@@ -3756,7 +3756,6 @@
 {
 	/* Return TRUE if we can get a trash directory on the same volume as this file. */
 	GnomeVFSURI *file_uri;
-	GnomeVFSURI *directory_uri;
 	GnomeVFSURI *trash_dir_uri;
 	GnomeVFSVolume *volume;
 	char *local_path;
@@ -3771,14 +3770,6 @@
 		return FALSE;
 	}
 
-	/* FIXME: Why can't we just pass file_uri to gnome_vfs_find_directory? */
-	directory_uri = gnome_vfs_uri_get_parent (file_uri);
-	gnome_vfs_uri_unref (file_uri);
-
-	if (directory_uri == NULL) {
-		return FALSE;
-	}
-
 	/* we first test if the filesystem can have a trash */
 	local_path = gnome_vfs_get_local_path_from_uri (file_uri_string);
 	if (local_path) {
@@ -3788,7 +3779,7 @@
 			result = gnome_vfs_volume_handles_trash (volume);
 			gnome_vfs_volume_unref (volume);
 			if (!result) {
-				gnome_vfs_uri_unref (directory_uri);
+				gnome_vfs_uri_unref (file_uri);
 				return FALSE;
 			}
 		}
@@ -3799,12 +3790,12 @@
 	 * Passing 0 permissions as gnome-vfs would override the permissions 
 	 * passed with 700 while creating .Trash directory
 	 */
-	result = gnome_vfs_find_directory (directory_uri, GNOME_VFS_DIRECTORY_KIND_TRASH,
+	result = gnome_vfs_find_directory (file_uri, GNOME_VFS_DIRECTORY_KIND_TRASH,
 					   &trash_dir_uri, TRUE, FALSE, 0) == GNOME_VFS_OK;
 	if (result) {
 		gnome_vfs_uri_unref (trash_dir_uri);
 	}
-	gnome_vfs_uri_unref (directory_uri);
+	gnome_vfs_uri_unref (file_uri);
 
 	return result;
 }
