Index: trunk/Ohana/src/relphot/include/relphot.h
===================================================================
--- trunk/Ohana/src/relphot/include/relphot.h	(revision 42134)
+++ trunk/Ohana/src/relphot/include/relphot.h	(revision 42135)
@@ -721,5 +721,5 @@
 int relphot_images (SkyList *skylist);
 
-void relphot_usage (void);
+void relphot_usage (int argc, char **argv);
 void relphot_help (int argc, char **argv);
 
Index: trunk/Ohana/src/relphot/src/args.c
===================================================================
--- trunk/Ohana/src/relphot/src/args.c	(revision 42134)
+++ trunk/Ohana/src/relphot/src/args.c	(revision 42135)
@@ -203,5 +203,5 @@
     remove_argument (N, &argc, argv);
     TEST_IMAGE1 = strtol(argv[N], &endptr, 0);
-    if (*endptr) relphot_usage (); 
+    if (*endptr) relphot_usage (argc, argv); 
     remove_argument (N, &argc, argv);
   }
@@ -211,5 +211,5 @@
     remove_argument (N, &argc, argv);
     TEST_IMAGE2 = strtol(argv[N], &endptr, 0);
-    if (*endptr) relphot_usage (); 
+    if (*endptr) relphot_usage (argc, argv); 
     remove_argument (N, &argc, argv);
   }
@@ -584,8 +584,8 @@
     remove_argument (N, &argc, argv);
     mode = PARALLEL_IMAGES;
-    if (N >= argc) relphot_usage();
+    if (N >= argc) relphot_usage(argc, argv);
     IMAGE_TABLE = strcreate (argv[N]);
     remove_argument (N, &argc, argv);
-    if (!REGION_FILE) relphot_usage();
+    if (!REGION_FILE) relphot_usage(argc, argv);
   }
 
@@ -594,5 +594,5 @@
     remove_argument (N, &argc, argv);
     mode = PARALLEL_REGIONS;
-    if (!REGION_FILE) relphot_usage();
+    if (!REGION_FILE) relphot_usage(argc, argv);
     if ((N = get_argument (argc, argv, "-parallel-regions-manual"))) {
       remove_argument (N, &argc, argv);
@@ -609,5 +609,5 @@
       // note: initialize sets PhotcodeList to the full set of average photcodes
       // if the mode is UPDATE_AVERAGES
-      // if (argc != 1) relphot_usage();
+      // if (argc != 1) relphot_usage(argc, argv);
       // break;
       
@@ -625,8 +625,8 @@
     default:
       fprintf (stderr, "no valid mode selected\n");
-      relphot_usage();
+      relphot_usage(argc, argv);
       break;
   }
-  if (argc != 1) relphot_usage ();
+  if (argc != 1) relphot_usage (argc, argv);
 
   // if we supplied a file, we need to load it now
Index: trunk/Ohana/src/relphot/src/help.c
===================================================================
--- trunk/Ohana/src/relphot/src/help.c	(revision 42134)
+++ trunk/Ohana/src/relphot/src/help.c	(revision 42135)
@@ -1,5 +1,5 @@
 # include "relphot.h"
 
-void relphot_usage (void) {
+void relphot_usage (int argc, char **argv) {
   fprintf (stderr, "ERROR: USAGE: relphot (photcodes) -images\n");
   fprintf (stderr, "       or:    relphot -averages\n");
@@ -11,4 +11,11 @@
   fprintf (stderr, "       or:    -catalog (name)\n");
   fprintf (stderr, "  use -h for more usage information\n");
+
+  fprintf (stderr, "unparsed arguments: ");
+  for (int i = 0; i < argc; i++) {
+    fprintf (stderr, "%s ", argv[i]);
+  }
+  fprintf (stderr, "\n");
+
   exit (2);
 } 
@@ -19,5 +26,5 @@
   if (get_argument (argc, argv, "-help")) goto show_help;
   if (get_argument (argc, argv, "-h"))    goto show_help;
-  if (argc == 1) relphot_usage();
+  if (argc == 1) relphot_usage(0, NULL);
   return;
 
Index: trunk/Ohana/src/relphot/src/setMrelCatalog.c
===================================================================
--- trunk/Ohana/src/relphot/src/setMrelCatalog.c	(revision 42134)
+++ trunk/Ohana/src/relphot/src/setMrelCatalog.c	(revision 42135)
@@ -266,4 +266,6 @@
       // overlaps).  Msys + measure.Mcal is our best guess of the true magnitude
       Mcal = measureT[k].McalPSF; // check that this is zero for loaded REF value
+      // but external reference photometry might not have Mcal set, so set to 0.0 in that case.
+      if (isnan(Mcal)) Mcal = 0.0;
     } else {
       // getMcal returns image[].Mcal
