Index: trunk/psModules/src/concepts/pmConceptsAverage.c
===================================================================
--- trunk/psModules/src/concepts/pmConceptsAverage.c	(revision 15975)
+++ trunk/psModules/src/concepts/pmConceptsAverage.c	(revision 16710)
@@ -18,4 +18,12 @@
     psMetadataItem *item = psMetadataLookup(MD, NAME); \
     item->data.TYPE = VALUE; \
+}
+
+// Update a metadata string entry directly
+#define MD_UPDATE_STR(MD, NAME, VALUE) \
+{ \
+    psMetadataItem *item = psMetadataLookup(MD, NAME); \
+    psFree(item->data.str); \
+    item->data.str = psStringCopy(VALUE); \
 }
 
@@ -64,8 +72,5 @@
 
     MD_UPDATE(target->concepts, "FPA.TIMESYS", S32, timeSys);
-    // XXX: The following is causing a memory leak in the test code.  Not sur ehow to fix it.
-    MD_UPDATE(target->concepts, "FPA.FILTER", str, psStringCopy(filter));
-    //psMetadataRemoveKey(target->concepts, "FPA.TIMESYS");
-    //psMetadataAddStr(target->concepts, PS_LIST_HEAD, "FPA.TIMESYS", PS_META_REPLACE, NULL, filter);
+    MD_UPDATE_STR(target->concepts, "FPA.FILTER", filter);
 
     // FPA.TIME needs special care
