Using allowed value of PHP: when using "select-list" every thing works fine, select-list will re-render when variable changed but autocomplete won't.

To reproduce this bug:

if (is_numeric(arg(1))) {
  $nid = arg(1);
} else {
  $nid = arg(4);
}
// This is a testing to show arg value that will send to sql
drupal_set_message('arg 1 = ' . arg(1) . 'arg 2 = ' . arg(2) .'arg 3 = ' . arg(3) . 'arg 4 = ' . arg(4) );

$sql = "SELECT n.title, field_prditm_product_name_value AS product_name
        FROM node n
        INNER JOIN content_type_prditm prditm ON prditm.vid = n.vid
        WHERE n.nid <> '$nid'";

drupal_set_message($sql);  // Test our SQL construction

$results = db_query($sql);

while($data = db_fetch_object($results)) {
  $array[$data->title] = $data->title . ' ' . $data->product_name;
}

return $array;

Even the $nid = '123' but autocomplete always use $nid = 'fields' (because URL content-type edit is "http://domain.dom/admin/content/node-type/invout/fields") . I call this as bug since this is not happen when I use "Select-list".