--- main.c.orig	2006-01-09 12:35:38.000000000 -0600
+++ main.c	2006-01-09 12:35:51.000000000 -0600
@@ -57,6 +57,9 @@
 extern int batch_fd;
 extern int batch_gen_fd;
 extern int filesfrom_fd;
+#ifdef EA_SUPPORT
+extern int extended_attributes;
+#endif
 extern pid_t cleanup_child_pid;
 extern struct stats stats;
 extern char *filesfrom_host;
@@ -407,6 +410,12 @@
 			}
 			return NULL;
 		}
+#ifdef EA_SUPPORT
+		if (extended_attributes) {
+			if(flist->count == 2 && !strncmp(flist->files[0]->basename, "._", 2))
+				return name;
+		}
+#endif
 		if (flist->count > 1) {
 			rprintf(FERROR,"ERROR: destination must be a directory when copying more than 1 file\n");
 			exit_cleanup(RERR_FILESELECT);
@@ -414,6 +423,12 @@
 		return name;
 	}
 
+#ifdef EA_SUPPORT
+	if (extended_attributes) {
+		if(flist->count == 2 && !strncmp(flist->files[0]->basename, "._", 2))
+			return name;
+	}
+#endif
 	if (flist->count <= 1 && ((e = strlen(name)) <= 1 || name[e-1] != '/'))
 		return name;