--- bibtool-2.48alpha.2.orig/symbols.c
+++ bibtool-2.48alpha.2/symbols.c
@@ -320,12 +320,11 @@
     }						   /*			     */
   }						   /*			     */
   if ( count<0 )				   /*                        */
-  { count = 0;					   /*                        */
-    SymbolFlags(*stp) != SYMBOL_STATIC;		   /*                        */
+  { *stp = new_string_tab(s,0,0);		   /*                        */
+    SymbolFlags(*stp) |= SYMBOL_STATIC;		   /*                        */
   }	   					   /*			     */
   else						   /*                        */
-  { s = new_Ustring(s); }		   	   /*			     */
-  *stp	   = new_string_tab(s,count,0);		   /*			     */
+  { *stp = new_string_tab(new_Ustring(s),count,0); } /*			     */
   last_stp = *stp;				   /*			     */
   SymbolUsed(*stp)++;				   /*                        */
   return SymbolName(*stp);			   /*			     */
