Index: trunk/ppSub/src/ppSubReadout.c
===================================================================
--- trunk/ppSub/src/ppSubReadout.c	(revision 17795)
+++ trunk/ppSub/src/ppSubReadout.c	(revision 17796)
@@ -4,4 +4,5 @@
 
 #include <stdio.h>
+#include <string.h>
 #include <pslib.h>
 #include <psmodules.h>
@@ -12,4 +13,25 @@
 #define WCS_TOLERANCE 0.001             // Tolerance for WCS
 //#define TESTING                         // For test output
+
+
+// Copy every instance of a single keyword from one metadata to another
+static bool metadataCopySingle(psMetadata *target, psMetadata *source, const char *name)
+{
+    PS_ASSERT_METADATA_NON_NULL(target, false);
+    PS_ASSERT_METADATA_NON_NULL(source, false);
+    PS_ASSERT_STRING_NON_EMPTY(name, false);
+
+    psString regex = NULL;      // Regular expression
+    psStringAppend(&regex, "^%s$", name);
+    psMetadataIterator *iter = psMetadataIteratorAlloc(source, PS_LIST_HEAD, regex); // Iterator
+    psFree(regex);
+    psMetadataItem *item;       // Item from iteration
+    while ((item = psMetadataGetAndIncrement(iter))) {
+        psMetadataAddItem(target, item, PS_LIST_TAIL, PS_META_DUPLICATE_OK);
+    }
+    psFree(iter);
+
+    return true;
+}
 
 
@@ -136,14 +158,15 @@
                      "Subtraction kernel", kernels->description);
 
+
     // Statistics on the matching
     if (psMetadataLookup(inConv->analysis, PM_SUBTRACTION_ANALYSIS_MODE)) {
-        psMetadataItemSupplement(stats, inConv->analysis, PM_SUBTRACTION_ANALYSIS_MODE);
-        psMetadataItemSupplement(stats, inConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_NUM);
-        psMetadataItemSupplement(stats, inConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_RMS);
+        metadataCopySingle(stats, inConv->analysis, PM_SUBTRACTION_ANALYSIS_MODE);
+        metadataCopySingle(stats, inConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_NUM);
+        metadataCopySingle(stats, inConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_RMS);
     }
     if (psMetadataLookup(refConv->analysis, PM_SUBTRACTION_ANALYSIS_MODE)) {
-        psMetadataItemSupplement(stats, refConv->analysis, PM_SUBTRACTION_ANALYSIS_MODE);
-        psMetadataItemSupplement(stats, refConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_NUM);
-        psMetadataItemSupplement(stats, refConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_RMS);
+        metadataCopySingle(stats, refConv->analysis, PM_SUBTRACTION_ANALYSIS_MODE);
+        metadataCopySingle(stats, refConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_NUM);
+        metadataCopySingle(stats, refConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_RMS);
     }
 
