Index: /tags/ipp-ops-20220906/psastro/src/psastroLoadCrosstalk.c
===================================================================
--- /tags/ipp-ops-20220906/psastro/src/psastroLoadCrosstalk.c	(revision 42912)
+++ /tags/ipp-ops-20220906/psastro/src/psastroLoadCrosstalk.c	(revision 42913)
@@ -370,5 +370,5 @@
           //-----------------------------------------------------------------
           //new style crostalk masking, with crosstalk rules from the recipes
-          if(!crossCheck) {
+          if (!crossCheck) {
             // load ghost model metadata structure
             psMetadata *crossModel = NULL;
@@ -386,7 +386,8 @@
 
             pmDetEff *de = psMetadataLookupPtr(NULL, readout->analysis, PM_DETEFF_ANALYSIS); // Detection efficiency
+            if (!de) continue; // chip has a problem if DETEFF is missing, just skip it
             if (isnan(de->magRef)) { continue; }
 
-	    // find the CROSSTALK.RUKE this chip lands in (if any)
+	    // find the CROSSTALK.RULE this chip lands in (if any)
 	    psListIterator *crossIter = psListIteratorAlloc(crossRules->data.list, PS_LIST_HEAD, false);
 	    psMetadataItem *crossItem = NULL;
@@ -528,4 +529,5 @@
                     //check again if the crosstalk is above the target chip background level
                     pmDetEff *tarde = psMetadataLookupPtr(NULL, targetReadout->analysis, PM_DETEFF_ANALYSIS); // Detection efficiency
+		    if (!tarde) continue;
                     if (isnan(tarde->magRef)) { continue; }
 
@@ -706,4 +708,5 @@
                     //check if the crosstalk is above the target chip background level
                     pmDetEff *tarde = psMetadataLookupPtr(NULL, targetReadout->analysis, PM_DETEFF_ANALYSIS); // Detection efficiency
+		    if (!tarde) continue; 
                     if (isnan(tarde->magRef)) { continue; }
 
