diff -u --recursive arts-0.3.1/src/synthesizer/structures.cc arts-0.3.1-mico227/src/synthesizer/structures.cc
--- arts-0.3.1/src/synthesizer/structures.cc	Sat Jun  5 01:20:53 1999
+++ arts-0.3.1-mico227/src/synthesizer/structures.cc	Wed Jun 16 23:58:54 1999
@@ -1182,7 +1182,8 @@
 	artsdebug("structureportlist-----------\n");
 	unsigned long i;
 	char *cmd,*param;
-	Arts::StringSeq_var typelist=0,datalist=0;
+	Arts::StringSeq_var typelist,datalist;
+	bool haveType = false, haveData = false;
 		// need both to do restore, type first
 
 	for(i=0;i<list.length();i++)
@@ -1192,10 +1193,12 @@
 			artsdebug("StructurePortDesc: load-> cmd was %s\n",cmd);
 			if(strcmp(cmd,"type") == 0)
 			{
-				assert(!typelist);	// only allowed once
+				assert(!haveType);	// only allowed once
+				haveType = true;
 				typelist = getSubStringSeq(&list,i);
 			} else if(strcmp(cmd,"data") == 0) {
-				assert(!datalist);	// only allowed once
+				assert(!haveData);	// only allowed once
+				haveData = true;
 				datalist = getSubStringSeq(&list,i);
 			} else if(strcmp(cmd,"x") == 0) {
 				_X = atol(param);
@@ -1212,7 +1215,7 @@
 			}
 		}
 	}
-	assert(typelist && datalist);
+	assert(haveType && haveData);
 
 	_Type = loadTypeFromList(typelist);
 
diff -u --recursive arts-0.3.1/src/synthesizer/synth_impl.cc arts-0.3.1-mico227/src/synthesizer/synth_impl.cc
--- arts-0.3.1/src/synthesizer/synth_impl.cc	Sat Jun  5 01:21:09 1999
+++ arts-0.3.1-mico227/src/synthesizer/synth_impl.cc	Wed Jun 16 23:58:29 1999
@@ -435,8 +435,10 @@
 	_global_interfaces_hack = interfaces;
 
 	Arts::ModuleDescSeq_var modules;
-	Arts::StructureDesc_var expandedsd = 0;
-	if(!structuredesc->containsStructures())
+	Arts::StructureDesc_var expandedsd;
+	bool needExpansion = structuredesc->containsStructures();
+
+	if(!needExpansion)
 	{
 		artsdebug("Execute 0: no expansion necessary, no substructures used\n");
  		modules = structuredesc->Modules();
@@ -544,7 +546,7 @@
 	for(ei=newexlist.begin();ei != newexlist.end();ei++)
 		(*ei)->startModules();
 
-	if(expandedsd)
+	if(needExpansion)
 	{
 		artsdebug("Free expanded structure\n");
 		expandedsd->decRef();

