Index: trunk/ppImage/src/ppImagePhotom.c
===================================================================
--- trunk/ppImage/src/ppImagePhotom.c	(revision 20409)
+++ trunk/ppImage/src/ppImagePhotom.c	(revision 20410)
@@ -12,5 +12,5 @@
     pmReadout *readout;
 
-    psphotModelClassInit ();
+    psphotInit ();
 
     // find or define a pmFPAfile PSPHOT.INPUT
Index: trunk/ppSim/src/ppSimPhotom.c
===================================================================
--- trunk/ppSim/src/ppSimPhotom.c	(revision 20409)
+++ trunk/ppSim/src/ppSimPhotom.c	(revision 20410)
@@ -13,5 +13,5 @@
     if (!doPhotom) return true;
     
-    psphotModelClassInit ();
+    psphotInit ();
 
     int blankMask = 0;		// XXX not sure what this should be set to...
Index: trunk/ppStack/src/ppStack.c
===================================================================
--- trunk/ppStack/src/ppStack.c	(revision 20409)
+++ trunk/ppStack/src/ppStack.c	(revision 20410)
@@ -38,4 +38,10 @@
     }
 
+    if (!psphotInit()) {
+        psErrorStackPrint(stderr, "Error initialising psphot.\n");
+        exitValue = PS_EXIT_PROG_ERROR;
+        goto die;
+    }
+
     if (!ppStackCamera(config)) {
         psErrorStackPrint(stderr, "Error setting up input files.\n");
Index: trunk/ppSub/src/ppSub.c
===================================================================
--- trunk/ppSub/src/ppSub.c	(revision 20409)
+++ trunk/ppSub/src/ppSub.c	(revision 20410)
@@ -24,4 +24,10 @@
     if (!pmModelClassInit()) {
         psErrorStackPrint(stderr, "Error initialising model classes.\n");
+        exitValue = PS_EXIT_PROG_ERROR;
+        goto die;
+    }
+
+    if (!psphotInit()) {
+        psErrorStackPrint(stderr, "Error initialising psphot.\n");
         exitValue = PS_EXIT_PROG_ERROR;
         goto die;
Index: trunk/pswarp/src/pswarp.c
===================================================================
--- trunk/pswarp/src/pswarp.c	(revision 20409)
+++ trunk/pswarp/src/pswarp.c	(revision 20410)
@@ -20,4 +20,7 @@
     // models defined in psphot/src/models are not available in psastro
     pmModelClassInit();
+
+    // init various psphot pieces (errors, models, threads)
+    psphotInit();
 
     pmConfig *config = pswarpArguments(argc, argv);
