diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/rpackages/TestRPackages.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/rpackages/TestRPackages.java
index 5d453173ceb5ba90d04bd724bf5f0dfe1f4fe95f..94d8505d711ead0386e33bb8e6f3bad0cbc68e3d 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/rpackages/TestRPackages.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/rpackages/TestRPackages.java
@@ -96,26 +96,27 @@ public abstract class TestRPackages extends TestBase {
                 if (FastROptions.debugMatches("TestRPackages")) {
                     pb.inheritIO();
                 }
+                pb.redirectErrorStream(true);
                 Process install = pb.start();
+                BufferedReader out = new BufferedReader(new InputStreamReader(install.getInputStream(), StandardCharsets.UTF_8));
+                StringBuilder str = new StringBuilder();
+                try {
+                    String line;
+                    while ((line = out.readLine()) != null) {
+                        str.append(line).append('\n');
+                        if (str.length() > 10 * (1 << 20)) { // if larger than 10M (just in case)
+                            System.out.println(str);
+                            str.setLength(0); // Reset buffer
+                        }
+                    }
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
                 int rc = install.waitFor();
                 if (rc == 0) {
-                    return true;
+                    return true; // Ignore output of process on success
                 } else {
-                    BufferedReader out = new BufferedReader(new InputStreamReader(install.getInputStream(), StandardCharsets.UTF_8));
-                    BufferedReader err = new BufferedReader(new InputStreamReader(install.getErrorStream(), StandardCharsets.UTF_8));
-                    try {
-                        StringBuilder str = new StringBuilder();
-                        String line;
-                        while ((line = out.readLine()) != null) {
-                            str.append(line).append('\n');
-                        }
-                        while ((line = err.readLine()) != null) {
-                            str.append(line).append('\n');
-                        }
-                        System.out.println(str);
-                    } catch (IOException e) {
-                        e.printStackTrace();
-                    }
+                    System.out.println(str); // Print if error happened
                     return false;
                 }
             } catch (Exception ex) {