diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/REnvVars.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/REnvVars.java
index a90120dbf7e9fc3e698cc2e201be9b5de561422f..2ea960149f5af4f24c507ebb2f9feb5437d8b164 100644
--- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/REnvVars.java
+++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/REnvVars.java
@@ -125,9 +125,14 @@ public class REnvVars {
         // This can be called before initialize, "R RHOME"
         if (rHomePath == null) {
             File file = new File(System.getProperty("user.dir"));
-            if (file.getName().endsWith("r.test")) {
-                file = file.getParentFile();
-            }
+            do {
+                File binR = new File(new File(file, "bin"), "R");
+                if (binR.exists()) {
+                    break;
+                } else {
+                    file = file.getParentFile();
+                }
+            } while (file != null);
             rHomePath = file.getAbsolutePath();
             // Check any external setting is consistent
             String envRHomePath = getEnvVars().get("R_HOME");