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 11943a19ec7af625c03ea2681f43dc9033959ec8..8d6927ac6a65ab1fa583ad62ba0bd63b97067fe5 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
@@ -86506,6 +86506,33 @@ $e
 #{ pi/180; pi }
 [1] 3.141593
 
+##com.oracle.truffle.r.test.library.base.TestSharedCluster.testSharedCluster#
+#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#
+#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#
+#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#
+#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#
+#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#
+#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#
+#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#
+#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#
+#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) }
 [1] 4
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 9058a579c50334702914b6d465bd08d725a6d7a8..924e512f91363d47301813f44c485c383a590206 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
@@ -23,7 +23,6 @@
 package com.oracle.truffle.r.test.library.base;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 
 import com.oracle.truffle.r.test.TestBase;
@@ -37,9 +36,7 @@ public class TestSharedCluster extends TestBase {
     }
 
     @Test
-    @Ignore("Transient hangs")
     public void testSharedCluster() {
-        // TODO: debug and unignore
         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("")));
diff --git a/mx.fastr/suite.py b/mx.fastr/suite.py
index ced7e33a5c9940b1d50b1bbe05976ee4b0406e50..4f28f735be10d65eff6fbd2997dd997e1818d38a 100644
--- a/mx.fastr/suite.py
+++ b/mx.fastr/suite.py
@@ -7,7 +7,7 @@ suite = {
             {
                "name" : "truffle",
                "subdir" : True,
-               "version" : "2c597bf501948b6f46856b754a98928b34da9037",
+               "version" : "7a94c71966b0c41780035f80020563949180ef47",
                "urls" : [
                     {"url" : "https://github.com/graalvm/graal", "kind" : "git"},
                     {"url" : "https://curio.ssw.jku.at/nexus/content/repositories/snapshots", "kind" : "binary"},