diff --git a/nautilus/nautilus-fileroller.c b/nautilus/nautilus-fileroller.c
index 10ead77..b433f65 100644
--- a/nautilus/nautilus-fileroller.c
+++ b/nautilus/nautilus-fileroller.c
@@ -253,7 +253,7 @@ unsupported_scheme (NautilusFileInfo *file)
 	scheme = g_file_get_uri_scheme (location);
 
 	if (scheme != NULL) {
-		const char *unsupported[] = { "trash", "computer", NULL };
+		const char *unsupported[] = { "trash", "computer", "x-nautilus-desktop", NULL };
 		int         i;
 
 		for (i = 0; unsupported[i] != NULL; i++)
@@ -287,8 +287,10 @@ nautilus_fr_get_file_items (NautilusMenuProvider *provider,
 	if (files == NULL)
 		return NULL;
 
-	if (unsupported_scheme ((NautilusFileInfo *) files->data))
-		return NULL;
+	for (scan = files; scan; scan = scan->next) {
+	    if (unsupported_scheme ((NautilusFileInfo *) scan->data))
+		    return NULL;
+	}
 
 	for (scan = files; scan; scan = scan->next) {
 		NautilusFileInfo *file = scan->data;
