if (sym == NULL)
     return NULL;
 
-  gold_assert(version == NULL);
+  gold_assert(version == NULL || oldsym != NULL);
   sym->init(name, od, value, symsize, type, binding, visibility, nonvis,
            offset_is_from_end);
 
   if (sym == NULL)
     return NULL;
 
-  gold_assert(version == NULL);
+  gold_assert(version == NULL || oldsym != NULL);
   sym->init(name, os, value, symsize, type, binding, visibility, nonvis,
            offset_base);
 
   if (sym == NULL)
     return NULL;
 
-  gold_assert(version == NULL);
+  gold_assert(version == NULL || oldsym != NULL);
   sym->init(name, value, symsize, type, binding, visibility, nonvis);
 
   if (oldsym != NULL