Index: trunk/psastro/src/psastroMosaicAstrom.c
===================================================================
--- trunk/psastro/src/psastroMosaicAstrom.c	(revision 39926)
+++ trunk/psastro/src/psastroMosaicAstrom.c	(revision 39928)
@@ -56,22 +56,20 @@
     }
 
-    for (int iter = 0; (iter < nIter); iter++) {
-      // now fit the chips under the common distortion with higher-order terms
-      // first, re-perform the match with a slightly tighter circle
-      if (!psastroMosaicSetMatch (fpa, recipe, iter)) {
-        psError(PSASTRO_ERR_UNKNOWN, false, "failed to match raw and ref stars for mosaic (4th pass %d)", iter);
-        return false;
-      }
-      if (!psastroMosaicChipAstrom (fpa, recipe, iter)) {
-        psError(PSASTRO_ERR_UNKNOWN, false, "failed to measure chip astrometry in mosaic mode (pass %d)", iter);
-        return false;
-      }
-      
-      if (psTraceGetLevel("psastro.dump") > 0) {
-        // the last filename (see filenames in psastroMosaicFit)
-        char filename[256];
-        snprintf (filename, 256, "%s.%d.dat", outroot, 2*nIter + 2);
-        psastroDumpMatches (fpa, filename);
-      }
+    // now fit the chips under the common distortion with higher-order terms
+    // first, re-perform the match with a slightly tighter circle
+    if (!psastroMosaicSetMatch (fpa, recipe, nIter)) {
+      psError(PSASTRO_ERR_UNKNOWN, false, "failed to match raw and ref stars for mosaic (pass %d)", nIter);
+      return false;
+    }
+    if (!psastroMosaicChipAstrom (fpa, recipe, nIter)) {
+      psError(PSASTRO_ERR_UNKNOWN, false, "failed to measure chip astrometry in mosaic mode (pass %d)", nIter);
+      return false;
+    }
+    
+    if (psTraceGetLevel("psastro.dump") > 0) {
+      // the last filename (see filenames in psastroMosaicFit)
+      char filename[256];
+      snprintf (filename, 256, "%s.%d.dat", outroot, 2*nIter + 2);
+      psastroDumpMatches (fpa, filename);
     }
     
