Index: /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/Shutdown.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/Shutdown.c	(revision 38618)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/Shutdown.c	(revision 38619)
@@ -21,6 +21,4 @@
   va_end (argp);
 
-  SetProtect (TRUE);
-  if (db) gfits_db_close (db);
   fprintf (stderr, "ERROR: delstar halted\n");
   exit (1);
Index: /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/delete_duplicate_images.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/delete_duplicate_images.c	(revision 38618)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/delete_duplicate_images.c	(revision 38619)
@@ -131,8 +131,10 @@
 
     if (UPDATE) {
+      SetProtect (TRUE);
       dvo_catalog_save_complete (&catalog, VERBOSE2);
     }
-
     dvo_catalog_unlock (&catalog);
+    SetProtect (FALSE);
+
     dvo_catalog_free (&catalog);
   }
Index: /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/delete_duplicate_measures.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/delete_duplicate_measures.c	(revision 38618)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/delete_duplicate_measures.c	(revision 38619)
@@ -70,9 +70,11 @@
 	  exit (1);
 	}
+	SetProtect (TRUE);
 	dvo_catalog_save_complete (&catalog, VERBOSE2);
       }
     }
-
     dvo_catalog_unlock (&catalog);
+    SetProtect (FALSE);
+
     dvo_catalog_free (&catalog);
   }
Index: /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/delete_fix_LAP.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/delete_fix_LAP.c	(revision 38618)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/delete_fix_LAP.c	(revision 38619)
@@ -68,8 +68,10 @@
     int noChange = (NaverageStart == catalog.Naverage) && (NmeasureStart == catalog.Nmeasure);
     if (UPDATE && !noChange) {
+      SetProtect (TRUE);
       dvo_catalog_save_complete (&catalog, VERBOSE2);
     }
-
     dvo_catalog_unlock (&catalog);
+    SetProtect (FALSE);
+
     dvo_catalog_free (&catalog);
   }
Index: /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/delete_fix_LAP_edges_delete.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/delete_fix_LAP_edges_delete.c	(revision 38618)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/delete_fix_LAP_edges_delete.c	(revision 38619)
@@ -118,8 +118,10 @@
       // XXX save a backup copy first
       // dvo_catalog_backup (&catalog, TRUE);
+      SetProtect (TRUE);
       dvo_catalog_save_complete (&catalog, VERBOSE2);
     }
-
     dvo_catalog_unlock (&catalog);
+    SetProtect (FALSE);
+
     dvo_catalog_free (&catalog);
   }
Index: /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/delete_imagefile.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/delete_imagefile.c	(revision 38618)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/delete_imagefile.c	(revision 38619)
@@ -48,6 +48,8 @@
     find_matches (&catalog, image[0].photcode, start, stop);
 
-    dvo_catalog_save (&catalog, VERBOSE);
-    dvo_catalog_unlock (&catalog);
+    SetProtect (TRUE);
+    if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+    if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+    SetProtect (FALSE);
     dvo_catalog_free (&catalog);
   }
Index: /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/delete_imagename.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/delete_imagename.c	(revision 38618)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/delete_imagename.c	(revision 38619)
@@ -62,6 +62,8 @@
       find_matches (&catalog, image[j].photcode, start, stop);
 
+      SetProtect (TRUE);
       dvo_catalog_save_complete (&catalog, VERBOSE);
       dvo_catalog_unlock (&catalog);
+      SetProtect (FALSE);
       dvo_catalog_free (&catalog);
     }
Index: /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/delete_photcodes.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/delete_photcodes.c	(revision 38618)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/delete_photcodes.c	(revision 38619)
@@ -60,6 +60,8 @@
 
     delete_photcodes_catalog (&catalog, photcodes, Nphotcodes);
+    SetProtect (TRUE);
     dvo_catalog_save_complete (&catalog, VERBOSE2);
     dvo_catalog_unlock (&catalog);
+    SetProtect (FALSE);
     dvo_catalog_free (&catalog);
   }
Index: /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/delete_photcodes_single.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/delete_photcodes_single.c	(revision 38618)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/delete_photcodes_single.c	(revision 38619)
@@ -28,6 +28,8 @@
 
   delete_photcodes_catalog (&catalog, photcodes, Nphotcodes);
+  SetProtect (TRUE);
   dvo_catalog_save_complete (&catalog, VERBOSE2);
   dvo_catalog_unlock (&catalog);
+  SetProtect (FALSE);
   dvo_catalog_free (&catalog);
   return TRUE;
Index: /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/delete_times.c
===================================================================
--- /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/delete_times.c	(revision 38618)
+++ /branches/eam_branches/ipp-20150625/Ohana/src/delstar/src/delete_times.c	(revision 38619)
@@ -77,6 +77,8 @@
 
     find_matches (&catalog, code, START, END);
-    dvo_catalog_save (&catalog, VERBOSE);
-    dvo_catalog_unlock (&catalog);
+    SetProtect (TRUE);
+    if (!dvo_catalog_save (&catalog, VERBOSE)) { fprintf (stderr, "ERROR: failed to save %s\n", catalog.filename); exit (1); }
+    if (!dvo_catalog_unlock (&catalog)) { fprintf (stderr, "ERROR: failed to unlock %s\n", catalog.filename); exit (1); }
+    SetProtect (FALSE);
     dvo_catalog_free (&catalog);
   }
