--- biblio.module.orig	2008-11-19 15:02:48.000000000 +0100
+++ biblio.module	2008-11-19 15:03:00.000000000 +0100
@@ -739,7 +739,7 @@
                     * this type to the "Other Biblio Fields" fieldset
                     */
         if ($fld['type'] == 'contrib_widget') {
-          _biblio_contributor_widget($form['other_fields'], $node, $fld);
+          _biblio_contributor_widget($form['other_fields'], $node, $fld, $form['biblio_type']['#default_value']);
         }
         else {
           $form['other_fields'][$key] = array(
@@ -783,11 +783,15 @@
   }
   return $form;
 }
-function _biblio_contributor_widget(& $form, $node, $fld) {
+// $tid must be passed when we authors are not visible and we got $form['other_fields']
+// passed as $form, because we don't have $form['biblio_type'] available then.
+function _biblio_contributor_widget(& $form, $node, $fld, $tid = NULL) {
   $node = (array) $node;
   $type = str_replace('_', '-', $fld['name']);
   $contributor_count = max(4, count($node[$fld['name']]));
-  $tid = (isset($node['biblio_type']))?$node['biblio_type']:$form['biblio_type']['#default_value'];
+  if (!isset($tid)) {
+    $tid = (isset($node['biblio_type']))?$node['biblio_type']:$form['biblio_type']['#default_value'];
+  }
   $ctypes = db_query('SELECT ct_id, title
                       FROM {biblio_contributor_type} ct, {biblio_contributor_type_data} ctd
                       WHERE ct.ctdid = ctd.ctdid AND ct.tid = %d
