diff --git a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/FileFunctions.java b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/FileFunctions.java
index 4cd95cf8fca81a440d3c4932e328f62cd223984b..acd936402b30d172f5e88b5444ca3c2a99bc9dc4 100644
--- a/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/FileFunctions.java
+++ b/com.oracle.truffle.r.nodes.builtin/src/com/oracle/truffle/r/nodes/builtin/base/FileFunctions.java
@@ -990,7 +990,7 @@ public class FileFunctions {
 
             @Override
             public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) {
-                Path newDir = toDir.resolve(fromDir.relativize(fromDir));
+                Path newDir = toDir.resolve(fromDir.relativize(dir));
                 try {
                     Files.copy(dir, newDir, copyOptions);
                 } catch (FileAlreadyExistsException x) {