Index: trunk/dbconfig/changes.txt
===================================================================
--- trunk/dbconfig/changes.txt	(revision 28486)
+++ trunk/dbconfig/changes.txt	(revision 28488)
@@ -1864,4 +1864,5 @@
     registered TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- time run was registered
     note VARCHAR(255),             -- note
+    magicked BIGINT NOT NULL DEFAULT 0, -- magic mask applied
     PRIMARY KEY(diff_phot_id),
     KEY(diff_id),
Index: trunk/dbconfig/diffphot.md
===================================================================
--- trunk/dbconfig/diffphot.md	(revision 28486)
+++ trunk/dbconfig/diffphot.md	(revision 28488)
@@ -10,4 +10,5 @@
     registered      TAI         NULL
     note            STR         255
+    magicked        S64         0
 END
 
Index: trunk/ippTools/share/diffphottool_advance.sql
===================================================================
--- trunk/ippTools/share/diffphottool_advance.sql	(revision 28486)
+++ trunk/ippTools/share/diffphottool_advance.sql	(revision 28488)
@@ -1,4 +1,5 @@
 SELECT
-    diff_phot_id
+    diff_phot_id,
+    diffPhotSkyfile.magicked
 FROM diffPhotRun
 JOIN diffSkyfile USING(diff_id)
Index: trunk/ippTools/src/diffphottool.c
===================================================================
--- trunk/ippTools/src/diffphottool.c	(revision 28486)
+++ trunk/ippTools/src/diffphottool.c	(revision 28488)
@@ -177,5 +177,5 @@
                                                   set_reduction ? set_reduction : reduction,
                                                   registered,
-                                                  set_note ? set_note : note);
+                                                  set_note ? set_note : note, 0);
         if (!diffPhotRunInsertObject(config->dbh, run)) {
             psError(psErrorCodeLast(), false, "database error");
@@ -430,7 +430,9 @@
         psMetadata *row = output->data[i]; // Row of interest
         psS64 diff_phot_id = psMetadataLookupS64(NULL, row, "diff_phot_id");
-
-        const char *query = "UPDATE diffPhotRun SET state = 'full' WHERE diff_phot_id = %" PRId64;
-        if (!p_psDBRunQueryF(config->dbh, query, diff_phot_id)) {
+        psS64 magicked = psMetadataLookupS64(NULL, row, "magicked");
+
+        const char *query = "UPDATE diffPhotRun SET state = 'full', magicked = %" PRId64
+            " WHERE diff_phot_id = %" PRId64;
+        if (!p_psDBRunQueryF(config->dbh, query, magicked, diff_phot_id)) {
             psError(psErrorCodeLast(), false,
                     "failed to change state for diff_phot_id %" PRId64, diff_phot_id);
