Index: trunk/ippTools/src/magictool.c
===================================================================
--- trunk/ippTools/src/magictool.c	(revision 18524)
+++ trunk/ippTools/src/magictool.c	(revision 18525)
@@ -40,5 +40,5 @@
 static bool toprocessMode(pxConfig *config);
 static bool addresultMode(pxConfig *config);
-static bool nodeMode(pxConfig *config);
+static bool inputsMode(pxConfig *config);
 static bool tomaskMode(pxConfig *config);
 static bool addmaskMode(pxConfig *config);
@@ -74,5 +74,5 @@
         MODECASE(MAGICTOOL_MODE_TOPROCESS,      toprocessMode);
         MODECASE(MAGICTOOL_MODE_ADDRESULT,      addresultMode);
-        MODECASE(MAGICTOOL_MODE_NODE,           nodeMode);
+        MODECASE(MAGICTOOL_MODE_INPUTS,         inputsMode);
         MODECASE(MAGICTOOL_MODE_TOMASK,         tomaskMode);
         MODECASE(MAGICTOOL_MODE_ADDMASK,        addmaskMode);
@@ -516,4 +516,8 @@
 bool findReadyNodes(void *arg, pxNode *node)
 {
+    if (psMetadataLookupBool(NULL, node->data, "done")) {
+        // It's already done
+        return true;
+    }
 
     if (pxNodeHasChildren(node)) {
@@ -729,5 +733,5 @@
 }
 
-static bool nodeMode(pxConfig *config)
+static bool inputsMode(pxConfig *config)
 {
     PS_ASSERT_PTR_NON_NULL(config, false);
@@ -736,5 +740,5 @@
     PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false);
 
-    psString query = pxDataGet("magictool_node.sql");
+    psString query = pxDataGet("magictool_inputs.sql");
     if (!query) {
         psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement");
