Index: trunk/ippTools/src/pxframes.c
===================================================================
--- trunk/ippTools/src/pxframes.c	(revision 6978)
+++ trunk/ippTools/src/pxframes.c	(revision 7843)
@@ -96,8 +96,8 @@
     allFrames->n = 0; \
  \
-    for (int i = 0; i < exposures->n; i++) { \
+    for (int i = 0; i < psArrayLength(exposures); i++) { \
         exptype##Row *exposure = exposures->data[i]; \
 \
-        psMetadata *where = psMetadataAlloc (); \
+        psMetadata *where = psMetadataAlloc(); \
         psMetadataAddStr(where, PS_LIST_TAIL, "exp_id", PS_META_REPLACE, "==", \
             exposure->exp_id); \
@@ -107,12 +107,16 @@
         psFree(where); \
         if (!images) { \
-            psError(PS_ERR_UNKNOWN, false, "no " #imfiletype " rows found"); \
-            psFree(allFrames); \
- \
-            return NULL; \
+            psError(PS_ERR_UNKNOWN, false, "no " #imfiletype " rows found for exp_id %s", exposure->exp_id); \
+ \
+            continue; \
         } \
  \
         frametype *frame = frametype##Alloc(exposure, images); \
         psArrayAdd(allFrames, 100, frame); \
+    } \
+ \
+    if (!psArrayLength(allFrames)) { \
+        psFree(allFrames); \
+        allFrames = NULL; \
     } \
  \
