LOG.info("About to execute graph {}", graph.toString());
                try {
                        while (curNode != null) {
-                               MDC.put("nodeId", curNode.getNodeId() + " (" + curNode.getNodeType() + ")");
-                               LOG.info("About to execute node # {} ({})", curNode.getNodeId(), curNode.getNodeType());
 
                                SvcLogicNode nextNode = executeNode(curNode, ctx);
                                curNode = nextNode;
             return (null);
         }
 
+               LOG.info("About to execute node # {} ({})", node.getNodeId(), node.getNodeType());
+               
         if (LOG.isDebugEnabled()) {
             LOG.debug("Executing node {}", node.getNodeId());
         }
         if (executor != null) {
             LOG.debug("Executing node executor for node type {} - {}", node.getNodeType(),
                     executor.getClass().getName());
+
+               MDC.put("nodeId", node.getNodeId() + " (" + node.getNodeType() + ")");
             return (executor.execute(this, node, ctx));
         } else {
             throw new SvcLogicException("Attempted to execute a node of type " + node.getNodeType() + ", but no executor was registered for this type");