Index: trunk/psModules/src/imcombine/pmSubtractionMatch.c
===================================================================
--- trunk/psModules/src/imcombine/pmSubtractionMatch.c	(revision 31059)
+++ trunk/psModules/src/imcombine/pmSubtractionMatch.c	(revision 31671)
@@ -154,5 +154,6 @@
     )
 {
-    if (subMode == PM_SUBTRACTION_MODE_1 || subMode == PM_SUBTRACTION_MODE_UNSURE ||
+    if (subMode == PM_SUBTRACTION_MODE_1 || 
+	subMode == PM_SUBTRACTION_MODE_SINGLE_AUTO ||
         subMode == PM_SUBTRACTION_MODE_DUAL) {
         if (!conv1->image) {
@@ -173,5 +174,6 @@
         }
     }
-    if (subMode == PM_SUBTRACTION_MODE_2 || subMode == PM_SUBTRACTION_MODE_UNSURE ||
+    if (subMode == PM_SUBTRACTION_MODE_2 || 
+	subMode == PM_SUBTRACTION_MODE_SINGLE_AUTO ||
         subMode == PM_SUBTRACTION_MODE_DUAL) {
         if (!conv2->image) {
@@ -575,4 +577,9 @@
 	TestModes[0] = PM_SUBTRACTION_MODE_2;
 	break;
+      case PM_SUBTRACTION_MODE_SINGLE_AUTO:
+	N_TEST_MODES = 2;
+	TestModes[0] = PM_SUBTRACTION_MODE_1;
+	TestModes[1] = PM_SUBTRACTION_MODE_2;
+	break;
       case PM_SUBTRACTION_MODE_DUAL:
 	N_TEST_MODES = 3;
@@ -754,4 +761,7 @@
 	    memCheck("kernels");
 
+// this section was an old version of auto-choosing the direction.  the test was not as reliable as
+// we would like; this is replaced by pmSubtractionMatchAttempt
+# if (0)
 	    if (subMode == PM_SUBTRACTION_MODE_UNSURE) {
 		pmSubtractionMode newMode = pmSubtractionBestMode(&stamps, &kernels, subMask, rej);
@@ -769,4 +779,5 @@
 		subMode = newMode;
 	    }
+# endif
 
 	    int numRejected = -1;       // Number of rejected stamps in each iteration
