Index: trunk/ippTools/src/magicdstool.c
===================================================================
--- trunk/ippTools/src/magicdstool.c	(revision 27743)
+++ trunk/ippTools/src/magicdstool.c	(revision 27745)
@@ -1225,4 +1225,11 @@
     }
 
+    psString stateCheck = NULL;
+    if (!strcmp(state, "goto_cleaned")) {
+        // science cleanup sets runs to goto_cleaned. Don't undo it if already cleaned
+        psStringAppend(&stateCheck, " AND magicDSRun.state != 'cleaned'");
+    }
+
+
     psString query = NULL;
     psStringAppend(&query, "UPDATE magicDSRun SET state = '%s' %s\n", state, extraSetStr ? extraSetStr : "");
@@ -1238,4 +1245,8 @@
     }
 
+    if (stateCheck) {
+        psStringAppend(&query, stateCheck);
+    }
+    psFree(stateCheck);
     if (!p_psDBRunQuery(config->dbh, query)) {
         psError(PS_ERR_UNKNOWN, false,
