Index: branches/prototype-v0/zoo-project/zoo-kernel/service_internal_hpc.c
===================================================================
--- branches/prototype-v0/zoo-project/zoo-kernel/service_internal_hpc.c	(revision 894)
+++ branches/prototype-v0/zoo-project/zoo-kernel/service_internal_hpc.c	(revision 895)
@@ -163,14 +163,29 @@
     }else{
       if(mimeType!=NULL){
-	elements *tmp=dupElements(cur);
-	tmp->name=zStrdup("download_link");
-	tmp->content=createMap("Title",_("Download link"));
-	addToMap(tmp->content,"Abstract",_("The download link"));
-	addToMap(tmp->defaults->content,"useMapserver","false");
-	if(tmp->supported!=NULL){
-	  freeIOType(&tmp->supported);
-	  free(tmp->supported);
-	  tmp->supported=NULL;
-	}
+        elements *tmp=dupElements(cur);
+        tmp->name=zStrdup("download_link");
+        tmp->content=createMap("Title",_("Download link"));
+        addToMap(tmp->content,"Abstract",_("The download link"));
+        addToMap(tmp->defaults->content,"useMapserver","false");
+        if(tmp->supported!=NULL){
+          freeIOType(&tmp->supported);
+          free(tmp->supported);
+          tmp->supported=NULL;
+        }
+        addToElements(&cur->child,tmp);
+        free(cur->format);
+        cur->format=NULL;
+        if(cur->defaults!=NULL){
+          freeIOType(&cur->defaults);
+          free(cur->defaults);
+          cur->defaults=NULL;
+        }
+        if(cur->supported!=NULL){
+          freeIOType(&cur->supported);
+          free(cur->supported);
+          cur->supported=NULL;
+        }
+        freeElements(&tmp);
+        free(tmp);
       }
     }
