Index: trunk/zoo-kernel/service_conf.y
===================================================================
--- trunk/zoo-kernel/service_conf.y	(revision 72)
+++ trunk/zoo-kernel/service_conf.y	(revision 73)
@@ -242,7 +242,7 @@
     else
       if(strncasecmp($2,"MetaData",8)==0){
+	previous_data=current_data;
 	current_data=3;
 	if(current_element!=NULL){
-	  wait_metadata=true;
 #ifdef DEBUG_SERVICE_CONF
 	  fprintf(stderr,"add current_content to current_element->content\n");
@@ -252,4 +252,5 @@
 	  freeMap(&current_content);
 	  free(current_content);
+	  wait_metadata=true;
 	}
 	else{
@@ -366,4 +367,5 @@
   if(strcmp($3,"MetaData")==0){
     current_data=previous_data;
+    wait_metadata=true;
   }
   if(strcmp($3,"ComplexData")==0 || strcmp($3,"LiteralData")==0 
