Index: trunk/Ohana/src/dvolens/src/args.c
===================================================================
--- trunk/Ohana/src/dvolens/src/args.c	(revision 39610)
+++ trunk/Ohana/src/dvolens/src/args.c	(revision 39611)
@@ -50,4 +50,8 @@
     REPAIR_LENSING_IDS_FROM_WARPS = TRUE;
     remove_argument (N, &argc, argv);
+  }
+  if (REPAIR_LENSING_IDS && REPAIR_LENSING_IDS_FROM_WARPS) {
+    fprintf (stderr, "cannot use both -repair-lensing-ids and -repair-lensing-ids-from-warps, exiting\n");
+    exit (2);
   }
 
@@ -193,4 +197,8 @@
     remove_argument (N, &argc, argv);
   }
+  if (REPAIR_LENSING_IDS && REPAIR_LENSING_IDS_FROM_WARPS) {
+    fprintf (stderr, "cannot use both -repair-lensing-ids and -repair-lensing-ids-from-warps, exiting\n");
+    exit (2);
+  }
 
   UPDATE = FALSE;
Index: trunk/Ohana/src/dvolens/src/update_objects.c
===================================================================
--- trunk/Ohana/src/dvolens/src/update_objects.c	(revision 39610)
+++ trunk/Ohana/src/dvolens/src/update_objects.c	(revision 39611)
@@ -169,9 +169,10 @@
     // VERBOSE, VERBOSE2, UPDATE
 
-    if (VERBOSE)            strextend (&command, "-v");
-    if (VERBOSE2)           strextend (&command, "-vv");
-    if (UPDATE)             strextend (&command, "-update");
-    if (REPAIR_LENSING_IDS) strextend (&command, "-repair-lensing-ids");
-    if (UserCatalog)        strextend (&command, "-catalog %s", UserCatalog);
+    if (VERBOSE)            	       strextend (&command, "-v");
+    if (VERBOSE2)           	       strextend (&command, "-vv");
+    if (UPDATE)             	       strextend (&command, "-update");
+    if (REPAIR_LENSING_IDS) 	       strextend (&command, "-repair-lensing-ids");
+    if (REPAIR_LENSING_IDS_FROM_WARPS) strextend (&command, "-repair-lensing-ids-from-warps");
+    if (UserCatalog)                   strextend (&command, "-catalog %s", UserCatalog);
 
     fprintf (stderr, "command: %s\n", command);
Index: trunk/Ohana/src/dvolens/src/update_objects_catalog.c
===================================================================
--- trunk/Ohana/src/dvolens/src/update_objects_catalog.c	(revision 39610)
+++ trunk/Ohana/src/dvolens/src/update_objects_catalog.c	(revision 39611)
@@ -46,4 +46,6 @@
   double time4 = 0.0;
 
+  int NfixLensing = 0;
+  int NgoodLensing = 0;
   int NmissLensing = 0;
   int NmissWarps   = 0;
@@ -80,6 +82,11 @@
 	Lensing *lensing = &catalog->lensing[Loff + Lj];
 	if (lensing->detID == measure->detID) {
-	  lensing->oldImID = lensing->imageID;
-	  lensing->imageID = measure->imageID;
+	  if (lensing->imageID == measure->imageID) {
+	    NgoodLensing ++;
+	  } else {
+	    lensing->oldImID = lensing->imageID;
+	    lensing->imageID = measure->imageID;
+	    NfixLensing ++;
+	  }
 	  Nmatch ++;
 	}
@@ -357,5 +364,5 @@
   if (REPAIR_LENSING_IDS) fprintf (stderr, "corrected %d lensing IDs, failed on %d lensing IDs\n", Nfixed, Nfailed);
 
-  if (REPAIR_LENSING_IDS_FROM_WARPS) fprintf (stderr, "missed %d lensing IDs, %d warps\n", NmissLensing, NmissWarps);
+  if (REPAIR_LENSING_IDS_FROM_WARPS) fprintf (stderr, "Ngood %d Nfixed %d missed %d lensing IDs, %d warps\n", NgoodLensing, NfixLensing, NmissLensing, NmissWarps);
 
   catalog->Nlensobj = Nlensobj;
