diff --git a/.github/workflows/functionsTests.yml b/.github/workflows/functionsTests.yml
index 48cb62b..b9d4794 100644
--- a/.github/workflows/functionsTests.yml
+++ b/.github/workflows/functionsTests.yml
@@ -68,6 +68,8 @@
           nary,
           paramserv,
           parfor,
+          pipelines,
+          privacy,
           quaternary,
           recompile,
           reorg,
diff --git a/src/main/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreeConverter.java b/src/main/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreeConverter.java
index 5d1f644..e97b73a 100644
--- a/src/main/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreeConverter.java
+++ b/src/main/java/org/apache/sysds/runtime/controlprogram/parfor/opt/OptTreeConverter.java
@@ -367,7 +367,7 @@
 		}
 		else if( pb instanceof ParForProgramBlock && sb instanceof ParForStatementBlock )
 		{
-			ParForProgramBlock fpb = (ParForProgramBlock) pb;		
+			ParForProgramBlock fpb = (ParForProgramBlock) pb;
 			ParForStatementBlock fsb = (ParForStatementBlock)sb;
 			ParForStatement fs = (ParForStatement) fsb.getStatement(0);
 			node = new OptNode( NodeType.PARFOR );
diff --git a/src/main/java/org/apache/sysds/runtime/util/ProgramConverter.java b/src/main/java/org/apache/sysds/runtime/util/ProgramConverter.java
index 3bba363..7dad319 100644
--- a/src/main/java/org/apache/sysds/runtime/util/ProgramConverter.java
+++ b/src/main/java/org/apache/sysds/runtime/util/ProgramConverter.java
@@ -44,6 +44,7 @@
 import org.apache.sysds.parser.FunctionStatementBlock;
 import org.apache.sysds.parser.IfStatement;
 import org.apache.sysds.parser.IfStatementBlock;
+import org.apache.sysds.parser.ParForStatement;
 import org.apache.sysds.parser.ParForStatementBlock;
 import org.apache.sysds.parser.ParForStatementBlock.ResultVar;
 import org.apache.sysds.parser.StatementBlock;
@@ -543,7 +544,8 @@
 			ForStatementBlock orig = (ForStatementBlock) sb;
 			ForStatementBlock fsb = createForStatementBlockCopy(orig, true);
 			ForStatement origstmt = (ForStatement) orig.getStatement(0);
-			ForStatement fstmt = new ForStatement(); //only shallow
+			ForStatement fstmt = (origstmt instanceof ParForStatement) ?
+				new ParForStatement() : new ForStatement(); //only shallow
 			fstmt.setPredicate(origstmt.getIterablePredicate());
 			fsb.setStatements(CollectionUtils.asArrayList(fstmt));
 			for( StatementBlock c : origstmt.getBody() )
