Index: trunk/glueforge/templates/psdb/printmetadatasraw.tt
===================================================================
--- trunk/glueforge/templates/psdb/printmetadatasraw.tt	(revision 8206)
+++ trunk/glueforge/templates/psdb/printmetadatasraw.tt	(revision 8219)
@@ -4,12 +4,22 @@
     PS_ASSERT_PTR_NON_NULL(mdname, false);
 
+    psMetadata *output = psMetadataAlloc();
     for (long i = 0; i < psArrayLength(mds); i++) {
         psMetadata *md = mds->data[i];
-        if (![% pkg_namespace %]PrintMetadataRaw(stream, md, mdcf)) {
-            psError(PS_ERR_UNKNOWN, false, "failed to print metadata");
+        if (!psMetadataAddMetadata(output, PS_LIST_TAIL, mdname, PS_META_DUPLICATE_OK, NULL, md)) {
+            psError(PS_ERR_UNKNOWN, false, "failed to add a metadata item");
+            psFree(output);
             return false;
         }
     }
 
+    if (![% pkg_namespace %]PrintMetadataRaw(stream, output, mdcf)) {
+        psError(PS_ERR_UNKNOWN, false, "failed to print metadata");
+        psFree(output);
+        return false;
+    }
+
+    psFree(output);
+
     return true;
 }
