Index: trunk/psModules/src/concepts/pmConceptsStandard.c
===================================================================
--- trunk/psModules/src/concepts/pmConceptsStandard.c	(revision 7278)
+++ trunk/psModules/src/concepts/pmConceptsStandard.c	(revision 7281)
@@ -306,5 +306,4 @@
 }
 
-
 psMetadataItem *p_pmConceptParse_CELL_TIME(psMetadataItem *concept,
         psMetadataItem *pattern,
@@ -335,42 +334,45 @@
     // Get format
     psMetadata *formats = psMetadataLookupMD(&mdok, cameraFormat, "FORMATS");
-    if (mdok && formats) {
-        psString timeFormat = psMetadataLookupStr(&mdok, formats, "CELL.TIME");
-        if (mdok && timeFormat && strlen(timeFormat) > 0) {
-            // Parse the time format
-            psList *timeFormats = psStringSplit(timeFormat, " ,;", false); // List of the format options
-            psListIterator *timeFormatsIter = psListIteratorAlloc(timeFormats, PS_LIST_HEAD, false); // Iter
-            while ((timeFormat = psListGetAndIncrement(timeFormatsIter))) {
-                if (strcasecmp(timeFormat, "USA") == 0) {
-                    usaTime = true;
-                    backwardsTime = false;
-                    jdTime = false;
-                    mjdTime = false;
-                } else if (strcasecmp(timeFormat, "BACKWARDS") == 0) {
-                    backwardsTime = true;
-                    usaTime = false;
-                    jdTime = false;
-                    mjdTime = false;
-                } else if (strcasecmp(timeFormat, "PRE2000") == 0) {
-                    pre2000Time = true;
-                } else if (strcasecmp(timeFormat, "MJD") == 0) {
-                    mjdTime = true;
-                    jdTime = false;
-                    backwardsTime = false;
-                    usaTime = false;
-                } else if (strcasecmp(timeFormat, "JD") == 0) {
-                    jdTime = true;
-                    mjdTime = false;
-                    backwardsTime = false;
-                    usaTime = false;
-                } else {
-                    psLogMsg(__func__, PS_LOG_WARN, "Unrecognised FORMATS option for CELL.TIME: %s --- "
-                             "ignored.\n", timeFormat);
-                }
-            }
-            psFree(timeFormatsIter);
-            psFree(timeFormats);
-        }
-    }
+    if (!mdok || !formats)
+        return NULL;
+
+    psString timeFormat = psMetadataLookupStr(&mdok, formats, "CELL.TIME");
+    if (!mdok || !timeFormat || !strlen(timeFormat))
+        return NULL;
+
+    // Parse the time format
+    psList *timeFormats = psStringSplit(timeFormat, " ,;", false); // List of the format options
+    psListIterator *timeFormatsIter = psListIteratorAlloc(timeFormats, PS_LIST_HEAD, false); // Iter
+    while ((timeFormat = psListGetAndIncrement(timeFormatsIter))) {
+        if (strcasecmp(timeFormat, "USA") == 0) {
+            usaTime = true;
+            backwardsTime = false;
+            jdTime = false;
+            mjdTime = false;
+        } else if (strcasecmp(timeFormat, "BACKWARDS") == 0) {
+            backwardsTime = true;
+            usaTime = false;
+            jdTime = false;
+            mjdTime = false;
+        } else if (strcasecmp(timeFormat, "PRE2000") == 0) {
+            pre2000Time = true;
+        } else if (strcasecmp(timeFormat, "MJD") == 0) {
+            mjdTime = true;
+            jdTime = false;
+            backwardsTime = false;
+            usaTime = false;
+        } else if (strcasecmp(timeFormat, "JD") == 0) {
+            jdTime = true;
+            mjdTime = false;
+            backwardsTime = false;
+            usaTime = false;
+        } else {
+            psLogMsg(__func__, PS_LOG_WARN, "Unrecognised FORMATS option for CELL.TIME: %s --- "
+                     "ignored.\n", timeFormat);
+            return NULL;
+        }
+    }
+    psFree(timeFormatsIter);
+    psFree(timeFormats);
 
     psTime *time = NULL;                // The time
