Index: tests/cck_select_other.test
===================================================================
--- tests/cck_select_other.test	(revision 71)
+++ tests/cck_select_other.test	(working copy)
@@ -190,6 +190,6 @@
 		$this->drupalPost('node/' . $node->nid . '/edit', $edit, t('Save'));
 		$this->assertFieldById('edit-field-blah-select-other-list', $my_option, t('Select field value matches'));
 		$this->assertFieldById('edit-field-blah-select-other-text-input', $my_text_option, t('Text input field value matches'));
+	}
 
-	}
 }
Index: cck_select_other.module
===================================================================
--- cck_select_other.module	(revision 71)
+++ cck_select_other.module	(working copy)
@@ -193,6 +193,9 @@
     drupal_add_js(drupal_get_path('module', 'cck_select_other').'/cck_select_other.js');
     $js = TRUE;
   }
+  else {
+    drupal_add_js(array('CCKSelectOther' => array('field' => $field_name)), 'setting');
+  }
 
   unset($form['#default_value']);
   unset($form['#value']);
@@ -255,6 +258,9 @@
     drupal_add_js(drupal_get_path('module', 'cck_select_other').'/cck_select_other.js');
     $js = TRUE;
   }
+  else {
+    drupal_add_js(array('CCKSelectOther' => array('field' => $field_name)), 'setting');
+  }
 
   return $content;
 }
Index: cck_select_other.js
===================================================================
--- cck_select_other.js	(revision 71)
+++ cck_select_other.js	(working copy)
@@ -12,28 +12,38 @@
 
   $.browser.msie == true ? $(this).click(cckSelectOther.switch) : $(this).change(cckSelectOther.switch);
 
-  var selectId = 'edit-field-'+Drupal.settings.CCKSelectOther.field+'-select-other-list';
-  var inputId = 'edit-field-'+Drupal.settings.CCKSelectOther.field+'-select-other-text-input-wrapper';
-  var value = $('#'+selectId+' option:selected').val();
+  var field_str = new String(Drupal.settings.CCKSelectOther.field);
+  var fields = new Array();
+  fields = field_str.split(',');
 
-  if (value == "other") {
-    document.getElementById(inputId).style.display = 'block';
+  // i is our index
+  for (i in fields) {
+    // make sure underscores are converted into dashes as drupal likes it
+    var field = fields[i].replace(/_/g, '-');
+    
+    var selectId = 'edit-field-' + field +'-select-other-list';
+    var inputId = 'edit-field-' + field +'-select-other-text-input-wrapper';
+    var value = $('#'+selectId+' option:selected').val();
+    
+    // if value == other then display as block else don't display
+    $('#' + inputId).css('display', (value == "other") ? 'block' : 'none');
   }
-  else {
-    document.getElementById(inputId).style.display = 'none';
-  }
-
 }
 
 cckSelectOther.switch = function () {
-  var selectId = 'edit-field-'+Drupal.settings.CCKSelectOther.field+'-select-other-list';
-  var inputId = 'edit-field-'+Drupal.settings.CCKSelectOther.field+'-select-other-text-input-wrapper';
-  var value = $('#'+selectId+' option:selected').val();
+  var field_str = new String(Drupal.settings.CCKSelectOther.field);
+  var fields = new Array();
+  fields = field_str.split(',');
 
-  if (value == "other") {
-    document.getElementById(inputId).style.display = 'block';
+  for (i in fields) {
+    // make sure underscores are converted into dashes as drupal likes it
+    var field = fields[i].replace(/_/g, '-');
+    
+    var selectId = 'edit-field-' + field +'-select-other-list';
+    var inputId = 'edit-field-' + field +'-select-other-text-input-wrapper';
+    var value = $('#'+selectId+' option:selected').val();
+
+    // if value == other then display as block else don't display
+    $('#' + inputId).css('display', (value == "other") ? 'block' : 'none');
   }
-  else {
-    document.getElementById(inputId).style.display = 'none';
-  }
 }
