diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test
index 2ffa78dee1a97550f9bb28d8d171a843443381da..8bc62fd9ec6b2f2a508f3a968fdab67249ae4a73 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/ExpectedTestOutput.test
@@ -70538,7 +70538,7 @@ tracemem[0x7faf191a98a8 -> 0x7faf191a98e0]:
 
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_tracemem.retracemem#Output.ContainsReferences#
 #x<-1:10; retracemem(x, c("first", "second")) 
-tracemem[first -> 0x7fd58944a740]:
+tracemem[first -> 0x7fc1dc2ba750]:
 
 ##com.oracle.truffle.r.test.builtins.TestBuiltin_tracemem.vectors#Output.ContainsReferences#
 #v <- c(1,10,100); tracemem(v); x <- v; y <- v; x[[1]]<-42; untracemem(v); y[[2]] <- 84
@@ -79701,40 +79701,31 @@ Error in get("x") : object 'x' not found
 [1] 3.141593
 
 ##com.oracle.truffle.r.test.library.base.TestSharedCluster.testSharedCluster#
-#fun <- function(data) { cl <- makeCluster(1, 'SHARED'); parLapply(cl, data, function(x) x+1); stopCluster(cl) }; fun(1:100)
-Error in fun(1:100) : could not find function "makeCluster"
+#library(parallel); fun <- function(data) { cl <- makeCluster(1, ifelse(exists('engine', where=R.version),'SHARED','PSOCK')); parLapply(cl, data, function(x) x+1); stopCluster(cl) }; fun(1:100)
 
 ##com.oracle.truffle.r.test.library.base.TestSharedCluster.testSharedCluster#
-#fun <- function(data) { cl <- makeCluster(2, 'SHARED'); parLapply(cl, data, function(x) x+1); stopCluster(cl) }; fun(1:100)
-Error in fun(1:100) : could not find function "makeCluster"
+#library(parallel); fun <- function(data) { cl <- makeCluster(2, ifelse(exists('engine', where=R.version),'SHARED','PSOCK')); parLapply(cl, data, function(x) x+1); stopCluster(cl) }; fun(1:100)
 
 ##com.oracle.truffle.r.test.library.base.TestSharedCluster.testSharedCluster#
-#fun <- function(data) { cl <- makeCluster(3, 'SHARED'); parLapply(cl, data, function(x) x+1); stopCluster(cl) }; fun(1:100)
-Error in fun(1:100) : could not find function "makeCluster"
+#library(parallel); fun <- function(data) { cl <- makeCluster(3, ifelse(exists('engine', where=R.version),'SHARED','PSOCK')); parLapply(cl, data, function(x) x+1); stopCluster(cl) }; fun(1:100)
 
 ##com.oracle.truffle.r.test.library.base.TestSharedCluster.testSharedCluster#
-#fun <- function(data) { cl <- makeCluster(4, 'SHARED'); parLapply(cl, data, function(x) x+1); stopCluster(cl) }; fun(1:100)
-Error in fun(1:100) : could not find function "makeCluster"
+#library(parallel); fun <- function(data) { cl <- makeCluster(4, ifelse(exists('engine', where=R.version),'SHARED','PSOCK')); parLapply(cl, data, function(x) x+1); stopCluster(cl) }; fun(1:100)
 
 ##com.oracle.truffle.r.test.library.base.TestSharedCluster.testSharedCluster#
-#fun <- function(data) { cl <- makeCluster(5, 'SHARED'); parLapply(cl, data, function(x) x+1); stopCluster(cl) }; fun(1:100)
-Error in fun(1:100) : could not find function "makeCluster"
+#library(parallel); fun <- function(data) { cl <- makeCluster(5, ifelse(exists('engine', where=R.version),'SHARED','PSOCK')); parLapply(cl, data, function(x) x+1); stopCluster(cl) }; fun(1:100)
 
 ##com.oracle.truffle.r.test.library.base.TestSharedCluster.testSharedCluster#
-#fun <- function(data) { cl <- makeCluster(6, 'SHARED'); parLapply(cl, data, function(x) x+1); stopCluster(cl) }; fun(1:100)
-Error in fun(1:100) : could not find function "makeCluster"
+#library(parallel); fun <- function(data) { cl <- makeCluster(6, ifelse(exists('engine', where=R.version),'SHARED','PSOCK')); parLapply(cl, data, function(x) x+1); stopCluster(cl) }; fun(1:100)
 
 ##com.oracle.truffle.r.test.library.base.TestSharedCluster.testSharedCluster#
-#fun <- function(data) { cl <- makeCluster(7, 'SHARED'); parLapply(cl, data, function(x) x+1); stopCluster(cl) }; fun(1:100)
-Error in fun(1:100) : could not find function "makeCluster"
+#library(parallel); fun <- function(data) { cl <- makeCluster(7, ifelse(exists('engine', where=R.version),'SHARED','PSOCK')); parLapply(cl, data, function(x) x+1); stopCluster(cl) }; fun(1:100)
 
 ##com.oracle.truffle.r.test.library.base.TestSharedCluster.testSharedCluster#
-#fun <- function(data) { cl <- makeCluster(8, 'SHARED'); parLapply(cl, data, function(x) x+1); stopCluster(cl) }; fun(1:100)
-Error in fun(1:100) : could not find function "makeCluster"
+#library(parallel); fun <- function(data) { cl <- makeCluster(8, ifelse(exists('engine', where=R.version),'SHARED','PSOCK')); parLapply(cl, data, function(x) x+1); stopCluster(cl) }; fun(1:100)
 
 ##com.oracle.truffle.r.test.library.base.TestSharedCluster.testSharedCluster#
-#fun <- function(data) { cl <- makeCluster(9, 'SHARED'); parLapply(cl, data, function(x) x+1); stopCluster(cl) }; fun(1:100)
-Error in fun(1:100) : could not find function "makeCluster"
+#library(parallel); fun <- function(data) { cl <- makeCluster(9, ifelse(exists('engine', where=R.version),'SHARED','PSOCK')); parLapply(cl, data, function(x) x+1); stopCluster(cl) }; fun(1:100)
 
 ##com.oracle.truffle.r.test.library.base.TestSimpleArithmetic.testArithmeticUpdate#
 #{ x <- 3 ; f <- function(z) { if (z) { x <- 1 } ; x <- 1L + x ; x } ; f(FALSE) }
diff --git a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestSharedCluster.java b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestSharedCluster.java
index c9fa04fdd64a2f8cc91f90b62fc0fd21d4248813..6d923bc76d87193005b99be997e4f982016973ea 100644
--- a/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestSharedCluster.java
+++ b/com.oracle.truffle.r.test/src/com/oracle/truffle/r/test/library/base/TestSharedCluster.java
@@ -31,6 +31,8 @@ public class TestSharedCluster extends TestBase {
 
     @Test
     public void testSharedCluster() {
-        assertEval(TestBase.template("fun <- function(data) { cl <- makeCluster(%0, 'SHARED'); parLapply(cl, data, function(x) x+1); stopCluster(cl) }; fun(1:100)", "123456789".split("")));
+        assertEval(TestBase.template(
+                        "library(parallel); fun <- function(data) { cl <- makeCluster(%0, ifelse(exists('engine', where=R.version),'SHARED','PSOCK')); parLapply(cl, data, function(x) x+1); stopCluster(cl) }; fun(1:100)",
+                        "123456789".split("")));
     }
 }