--- orig/nautilus-2.27.92/src/nautilus-window-manage-views.c	2009-07-14 13:15:16.000000000 +0200
+++ nautilus-2.27.92/src/nautilus-window-manage-views.c	2009-09-19 01:08:22.000000000 +0200
@@ -1018,6 +1018,8 @@
 	NautilusWindow *window;
 	NautilusWindowSlot *slot;
 	NautilusFile *viewed_file;
+	GList *selection;
+	GFile *select_file;
 	GFile *location;
 	GMountOperation *mount_op;
 	MountNotMountedData *data;
@@ -1063,8 +1065,20 @@
 	
         if (error == NULL ||
 	    (error->domain == G_IO_ERROR && error->code == G_IO_ERROR_NOT_SUPPORTED)) {
-		/* We got the information we need, now pick what view to use: */
+		/* If we selected a file - show the folder and select the file */
+		if (nautilus_file_get_file_type (file) != G_FILE_TYPE_DIRECTORY) {
+			select_file = nautilus_file_get_location (file);
+			selection = g_list_append (NULL, select_file);
+
+			file = nautilus_file_get_parent (file);
+			location = nautilus_file_get_location (file);
+
+			nautilus_window_slot_go_to_with_selection (slot, location, selection);
 
+			nautilus_file_unref (file);
+			return;
+		}
+		/* We got the information we need, now pick what view to use: */
 		mimetype = nautilus_file_get_mime_type (file);
 
 		/* If fallback, don't use view from metadata */
