diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RDeparse.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RDeparse.java
index b9c6f7c7cc63342abfd2cec77495d9da3cb95749..df26c320f6e2de9c393a5a9163ab5b6fde62b301 100644
--- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RDeparse.java
+++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RDeparse.java
@@ -16,6 +16,8 @@ import static java.nio.file.StandardOpenOption.WRITE;
 
 import java.io.BufferedWriter;
 import java.io.IOException;
+import java.nio.file.AccessDeniedException;
+import java.nio.file.FileAlreadyExistsException;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
@@ -405,6 +407,8 @@ public class RDeparse {
                         s.element.setSourceSection(source.createSection(s.start, s.length));
                     }
                 }
+            } catch (AccessDeniedException | FileAlreadyExistsException e) {
+                fixupSourcesTextInternal();
             } catch (IOException e) {
                 RInternalError.reportError(e);
                 fixupSourcesTextInternal();