Index: subversion/libsvn_subr/io.c
===================================================================
--- subversion/libsvn_subr/io.c	(revision 15153)
+++ subversion/libsvn_subr/io.c	(working copy)
@@ -641,6 +641,7 @@
   apr_finfo_t this_entry;
   apr_int32_t flags = APR_FINFO_TYPE | APR_FINFO_NAME;
 
+  printf ("HERE\n");
   /* Make a subpool for recursion */
   apr_pool_t *subpool = svn_pool_create (pool);
 
@@ -714,8 +715,11 @@
             {
               /* Prevent infinite recursion by filtering off our
                  newly created destination path. */
-              if (strcmp (this_entry.name, dst_basename) == 0)
-                 continue;
+              if (svn_path_is_child (src_target, dst_path, subpool)
+                  && strcmp (this_entry.name, dst_basename) == 0)
+                {
+                  continue;
+                }
 
               SVN_ERR (svn_io_copy_dir_recursively 
                        (src_target,
