diff -uarN nautilus-2.26.3/libnautilus-private/nautilus-file-operations.c nautilus-2.26.3.new/libnautilus-private/nautilus-file-operations.c
--- nautilus-2.26.3/libnautilus-private/nautilus-file-operations.c	2009-04-20 12:57:19.000000000 +0200
+++ nautilus-2.26.3.new/libnautilus-private/nautilus-file-operations.c	2009-06-01 14:03:54.000000000 +0200
@@ -3805,7 +3805,7 @@
 		*skipped_file = TRUE;
 		return;
 	}
-
+	
 	unique_name_nr = 1;
 
 	/* another file in the same directory might have handled the invalid
@@ -3906,6 +3906,15 @@
 	pdata.source_info = source_info;
 	pdata.transfer_info = transfer_info;
 
+	if (is_dir(src)) {
+		copy_move_directory (copy_job, src, &dest, same_fs,
+					  TRUE, dest_fs_type,
+					  source_info, transfer_info,
+					  debuting_files, skipped_file,
+					  readonly_source_fs);
+		return;
+	}
+
 	if (copy_job->is_move) {
 		res = g_file_move (src, dest,
 				   flags,
