diff --git a/src/main/java/org/apache/sysds/runtime/controlprogram/federated/FederatedWorkerHandler.java b/src/main/java/org/apache/sysds/runtime/controlprogram/federated/FederatedWorkerHandler.java
index 2d6ea04..76166f2 100644
--- a/src/main/java/org/apache/sysds/runtime/controlprogram/federated/FederatedWorkerHandler.java
+++ b/src/main/java/org/apache/sysds/runtime/controlprogram/federated/FederatedWorkerHandler.java
@@ -302,6 +302,7 @@
 		FederatedUDF udf = (FederatedUDF) request.getParam(0);
 		Data[] inputs = Arrays.stream(udf.getInputIDs())
 			.mapToObj(id -> ec.getVariable(String.valueOf(id)))
+			.map(PrivacyMonitor::handlePrivacy)
 			.toArray(Data[]::new);
 		
 		//execute user-defined function
diff --git a/src/main/java/org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.java b/src/main/java/org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.java
index 047aff3..e1ecb19 100644
--- a/src/main/java/org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.java
+++ b/src/main/java/org/apache/sysds/runtime/instructions/fed/MultiReturnParameterizedBuiltinFEDInstruction.java
@@ -190,7 +190,7 @@
 
 		@Override
 		public FederatedResponse execute(ExecutionContext ec, Data... data) {
-			FrameObject fo = (FrameObject) PrivacyMonitor.handlePrivacy(data[0]);
+			FrameObject fo = (FrameObject) data[0];
 			FrameBlock fb = fo.acquireRead();
 			String[] colNames = fb.getColumnNames();
 
@@ -220,8 +220,7 @@
 
 		@Override
 		public FederatedResponse execute(ExecutionContext ec, Data... data) {
-			FrameObject fo = (FrameObject) PrivacyMonitor.handlePrivacy(data[0]);
-			FrameBlock fb = fo.acquireReadAndRelease();
+			FrameBlock fb = ((FrameObject)data[0]).acquireReadAndRelease();
 
 			// apply transformation
 			MatrixBlock mbout = _encoder.apply(fb,
diff --git a/src/main/java/org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.java b/src/main/java/org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.java
index 4f31d4f..762ed68 100644
--- a/src/main/java/org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.java
+++ b/src/main/java/org/apache/sysds/runtime/instructions/fed/ParameterizedBuiltinFEDInstruction.java
@@ -299,7 +299,7 @@
 		}
 
 		public FederatedResponse execute(ExecutionContext ec, Data... data) {
-			MatrixObject mo = (MatrixObject) PrivacyMonitor.handlePrivacy(data[0]);
+			MatrixObject mo = (MatrixObject) data[0];
 			MatrixBlock mb = mo.acquireRead();
 			String[] colNames = _meta.getColumnNames();
 
@@ -331,8 +331,7 @@
 
 		@Override
 		public FederatedResponse execute(ExecutionContext ec, Data... data) {
-			FrameObject fo = (FrameObject) PrivacyMonitor.handlePrivacy(data[0]);
-			FrameBlock fb = fo.acquireReadAndRelease();
+			FrameBlock fb = ((FrameObject)data[0]).acquireReadAndRelease();
 			// return column names
 			return new FederatedResponse(ResponseType.SUCCESS, new Object[] {fb.getColumnNames()});
 		}
@@ -350,8 +349,7 @@
 
 		@Override
 		public FederatedResponse execute(ExecutionContext ec, Data... data) {
-			FrameObject fo = (FrameObject) PrivacyMonitor.handlePrivacy(data[0]);
-			FrameBlock fb = fo.acquireReadAndRelease();
+			FrameBlock fb = ((FrameObject)data[0]).acquireReadAndRelease();
 			_encoder.build(fb);
 			return new FederatedResponse(ResponseType.SUCCESS, new Object[] {_encoder});
 		}
