diff --git a/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EmbedProjectRule.java b/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EmbedProjectRule.java
index acb2f62..4acb509 100644
--- a/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EmbedProjectRule.java
+++ b/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EmbedProjectRule.java
@@ -34,13 +34,6 @@
  */
 
 public class EmbedProjectRule implements IAlgebraicRewriteRule {
-    private static boolean isProjectable(LogicalOperatorTag op) {
-        return switch (op) {
-            case ASSIGN, UNNEST, LEFT_OUTER_UNNEST, RUNNINGAGGREGATE, SELECT -> true;
-            default -> false;
-        };
-    }
-
     @Override
     public boolean rewritePost(Mutable<ILogicalOperator> opRef, IOptimizationContext context) {
 
@@ -65,4 +58,10 @@
         return true;
     }
 
+    private static boolean isProjectable(LogicalOperatorTag op) {
+        return switch (op) {
+            case ASSIGN, UNNEST, LEFT_OUTER_UNNEST, RUNNINGAGGREGATE, SELECT -> true;
+            default -> false;
+        };
+    }
 }
diff --git a/hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/std/AssignRuntimeFactory.java b/hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/std/AssignRuntimeFactory.java
index a39cd05..6cd7a05 100644
--- a/hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/std/AssignRuntimeFactory.java
+++ b/hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/std/AssignRuntimeFactory.java
@@ -92,7 +92,9 @@
             }
             sb.append(evalFactories[i].toString());
         }
-        sb.append("]");
+        sb.append("] ");
+        sb.append(" project: ");
+        sb.append(Arrays.toString(projectionList));
         return sb.toString();
     }
 
